我的JS文件中有一段简单的代码:
AdultURL_FilterUrl = second_node.getElementsByTagName('filterdomain')[0].firstChild.nodeValue;
window.stop();
它基本上检查URL(打开和)是否等于成人URL阻止列表,并停止加载窗口
但是,有没有办法阻止http请求,使其不会在成人网站上注册?
如果可以在发送DNS请求之前停止它,那就更好了。
我不久前在CodeProject上看过这篇文章:http://www.codeproject.com/KB/IP/DnsHijack.aspx
它所做的是挂接gethostbyname
函数(这是Firefox将主机名解析为IP地址的方式),并更改FF试图解析的主机名——本质上是对这个特定进程进行DNS劫持。
例如,对unwantedsite.example.com
的查找被转换为对yourloggingserver.example.net
的查找(因此HTTP请求将转到yourloggingserver.example.net
,尽管该请求仍将说Host: unwantedsite.example.com
)。
正常操作:
- 火狐浏览器:gethostbyname("unntedsite.example.com")
- DNS服务器:该主机位于10.20.30.40
- Firefox:连接到10.20.30.40
- Firefox:
GET http://unwantedsite.example.com/
"劫持"操作:
- 火狐浏览器:gethostbyname("unntedsite.example.com")
- 挂钩DLL:修改为gethostbyname("yourloggingserver.example.net")
- DNS服务器:该主机位于192.168.1.54
- Firefox:连接到192.168.1.54
- Firefox:
GET http://unwantedsite.example.com/