登录后台

页面导航

本文编写于 104 天前,最后修改于 104 天前,其中某些信息可能已经过时。

Nginx配置网页只能指定浏览器访问,项目需求,网页只能在微信内置浏览器打开,非内置浏览器禁止打开。
2种思路:
1、Nginx判断UA只能微信打开,此方式无法避免伪造的UA。

location / {
if ( $http_user_agent !~ "MicroMessenger" ){
   return 405;
}
}

2、使用微信内置的JS接口判断是否微信环境。

附:多条件判断指定mobile目录只能微信访问

  location / {
    
    set $flag 0;
    if ( $uri ~ "/mobile/" ){
       set $flag "${flag}1";
    }
    if ( $http_user_agent !~ "MicroMessenger" ){
       set $flag "${flag}1";
    }
    if ($flag = "011"){
       return 405;
    }

}

3、Nginx禁止特定UA访问

在Nginx中有一个内置变量$http_user_agent,表示HTTP请求头中的User-Agent字段。使用正则表达式匹配User-Agent字段中是否包含特定的字符串,符合规则的则禁止访问。具体实现如下:

location / {
    if ($http_user_agent ~* (python-requests|Apache-HttpClient)) {
        return 403;
    }
}





博主已关闭本页面的评论功能