防止dns的重定向

来源:互联网 发布:tensorflow 极客学院 编辑:程序博客网 时间:2024/04/29 15:22

最近在访问一些网站时,经常页面闪现一下,然后就被重定向到一个丑陋异常的页面,显示:

    “尊敬的用户:您访问的域名有误或网页不存在,您可以使用我们提供的以下服务”


具体如下图:


打开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.把它加到防火墙黑名单中,如图:



0 0
原创粉丝点击