怎么禁止浏览某个特定网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么禁止浏览某个特定网站相关的知识,希望对你有一定的参考价值。

参考技术A   出于某些原因,某些网站是不想别他人浏览的。例如家长限制小学生玩某网站的小游戏,等其他因素需要禁止加载某网站。禁止浏览某个特定网站的 方法 其实很简单,下面由我告诉你!
  禁止浏览某个特定网站的方法
  利用浏览器本身性质,选择其菜单中internet选项。

  选择“安全“选项进行操作。

  记下特定网站的域名。这里进行的示范的网址纯属虚构,如有雷同,请别见怪。

  最后一步是完成保存任务,使浏览器记得你所进行的操作。日常生活中,很好的收尾工作也是很重要的。

  注意事项:

  1、有许多外设软件也是可以完成这些任务的。

  2、该方法有许多限制,你所做的设置只对该浏览器有用。并且只能做到禁止某一个网站,而不是一类网站。

nginx禁止特定UA访问

一、UA是什么?

 User Agent 简称UA,就是用户代理。通常我们用浏览器访问网站,在网站的日志中,我们的浏览器就是一种UA。

二、禁止特定UA访问

最近有个网站(www.C.com)抄袭公司主站(www.A.com)的内容,除了域名不同,内容、图片等都完全是我们主站的内容。

出现这种情况,有两种可能:

一种是:它用爬虫抓取公司主站(www.A.com)的内容并放到自己服务器上显示;

另一种是:通过将访问代理至公司主站(www.A.com),而域名(www.C.com)是盗用者的,骗取流量。

无论怎样,都要禁止这种行为的继续。

 

通过分析日志,没有发现爬虫大量爬取公司主站(www.A.com)内容页面的信息。

测试是否是代理,测试步骤:

1)访问www.C.com并指定参数

URL : www.C.com/chaojikaifangfu.html/?cccc

2)检查公司主站的web服务器上的nginx日志

发现有记录,说明刚才的访问被代理到公司主站web上了。

UA(双引号里边的是UA的全名):Resty/HTTP 0.03 (Lua)

 

有两种方法解决:

1)禁止IP

2)禁止UA

从nginx日志观察,访问者的代理IP经常变,但是访问UA却是固定的,因而可以禁止UA。

 

禁止特定UA:

1)nginx配置信息

nginx配置目录:/usr/local/nginx/conf/

2)在nginx配置目录中,创建新的配置文件agent_deny.conf,添加如下内容:

# 禁止特定UA访问
# ~ "Lua" :表示用户UA匹配"Lua"字符串,区分大小写
# 当用户UA被匹配成功,则返回403错误,不给予访问。
if ($http_user_agent ~ "Lua"){ return 403; }

3)添加该配置到相应的server或location段

include  agent_deny.conf;

注意:不能加到http段,if 用于http段会报语法错误的。

4)使配置生效

nginx -t
nginx -s reload

5)检查禁止特定UA的功能是否成功

 利用curl工具,指定UA去访问公司主站(www.A.com)

 没禁止特定UA前,访问结果:

# curl -I -A "Resty/HTTP 0.03 (Lua)" www.A.com
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Date: Thu, 03 Nov 2016 15:50:13 GMT
Content-Length: 361168
Vary: Accept-Encoding
Age: 294
Pragma: public
Server: nginx
Accept-Ranges: bytes

禁止特定UA后,访问结果:

# curl -I -A "Resty/HTTP 0.03 (Lua)" www.A.com
HTTP/1.1 403 Forbidden
Server: nginx
Date: Thu, 03 Nov 2016 15:55:17 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive

对比两次结果,发现:nginx已经能禁止特定的UA访问了。

 

补充:

观察一阵子后,发现还有禁止UA为空的访问和放行内网ip不做禁止的需求。

nginx的配置中不支持if条件的逻辑与、逻辑或运算 ,并且不支持if的嵌套语法,但我们可以使用变量达到想要的效果。

#白名单:192.168.1
#禁止特定UA和UA为空的访问

set $flag 0;

if ($remote_addr !~ "^(192.168.1)"){
set $flag "${flag}1";
}

if ($http_user_agent ~ "Lua|^$"){
set $flag "${flag}2";
}

if ($flag = "012"){
return 403;
}

 

注意:以下的写法是错误的!!!

if ($remote_addr !~ "^(192.168.1)" && $http_user_agent ~ "Lua|^$") { 
    return 403; 
}

 

以上是关于怎么禁止浏览某个特定网站的主要内容,如果未能解决你的问题,请参考以下文章

手机怎样禁止访问某个网站?

网页设置那 可不可以设置禁止打开某个网页?

怎么设置禁止打开网页?

cdn怎么禁止指定IP访问网站

禁止访问的网站怎么打开?

能直接用浏览器网页打开网站文件夹目录,怎么禁止?