php怎么禁止pc访问?

php手机可以访问pc禁止访问

代码是网上搬运的,(IOS手机)测试过了,安卓手机的话可以自己再测试一下,由于环境限制没办法发手机截屏图片,就用电脑截个提示图吧!PHP后端的验证方法,当是fales的时候则不是手机访问,当返回true时则为手机访问;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

public static function check_wap()

{

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {

return true;

}

//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

if (isset($_SERVER['HTTP_VIA'])) {

//找不到为flase,否则为true

if (stristr($_SERVER['HTTP_VIA'], "wap")) {

return true;

}

}

//协议法,因为有可能不准确,放到最后判断

if (isset($_SERVER['HTTP_ACCEPT'])) {

// 如果只支持wml并且不支持html那一定是移动设备

// 如果支持wml和html但是wml在html之前则是移动设备

if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {

return true;

}

}

return false;

}

下面这段代码是判断浏览器F12调试场景的,如果需要从PC端浏览器访问,就把这一段代码加到第三个判断(协议法)的上方即可,由于代码过长就缩小之后上个截图示例吧:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

//判断手机发送的客户端标志,兼容性有待提高

if (isset($_SERVER['HTTP_USER_AGENT'])) {

$clientkeywords = array (

'nokia',

'sony',

'ericsson',

'mot',

'samsung',

'htc',

'sgh',

'lg',

'sharp',

'sie-',

'philips',

'panasonic',

'alcatel',

'lenovo',

'iphone',

'ipod',

'blackberry',

'meizu',

'android',

'netfront',

'symbian',

'ucweb',

'windowsce',

'palm',

'operamini',

'operamobi',

'openwave',

'nexusone',

'cldc',

'midp',

'wap',

'mobile',

'phone',

);

// 从HTTP_USER_AGENT中查找手机浏览器的关键字

if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {

return true;

}

}

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。