最近在访问一些网站时,经常页面闪现一下,然后就被重定向到一个丑陋异常的页面,显示:
“尊敬的用户:您访问的域名有误或网页不存在,您可以使用我们提供的以下服务”
具体如下图:
打开Chrome的开发者工具,查看Nerwork Log(勾上Preserver Log复选框),找到当前页面的启动器(initiator),发现是来自
http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fbootsnipp.com&width=130&height=20&colorscheme=light&layout=button_count&action=like&show_faces=false&send=true&appId=112989545392380
的一段脚本,将该页面另存为html文件,查看其源代码:
<html> <script src="http://s23.cnzz.com/stat.php?id=5816172&web_id=5816172" language="JavaScript"></script> <script language=javascript type="text/javascript"> window.location.replace("http://bjdnserror3.wo.com.cn:8080?HOST=" + location.hostname + "&R=" + location.pathname + "&" + location.search.substr(location.search.indexOf("\?")+1)); </script> <noscript> <meta http-equiv="refresh" content="0;URL=http://bjdnserror3.wo.com.cn:8080"> </noscript> <head> <title>Redirect</title> </head> <body bgcolor="white" text="black"> </body> </html>
我们访问的页面引用了www.facebook.com域下的一个资源,而这个地球上貌似根本就不存在什么www.facebook.com,
所以dns很聪明的把www.facebook.com解析到了另一台主机,而这台主机就给我们返回了上面那段代码,于是也就产生了上面那张丑图。
遇到这种问题,我们有如下解决办法:
1.把http://www.facebook.com/plugins/like.php?。。。这个页面加入黑名单,比如使用Adblock
Plus
2.修改hosts文件,把www.facebook.com这个不存在的域名解析到我们自己的主机
3.把返回上面那段烂代码的主机ip加入防火墙的黑名单里。
前两个方法之对特定访问不到的域好用,如果我们访问的页面引用了别的不存在的域(如google等),还要再麻烦一遍,毕竟不存在的东西还是很多的。
所以使用第三个方法最彻底,以我的CentOS 7 为例,需要如下操作:
1.找到要屏蔽的ip,如图:
2.把它加到防火墙黑名单中,如图:
原文地址:http://blog.csdn.net/wmzy1067111110/article/details/41893801