2009-05-18 158 views
2

代码:我怎样才能阻止网站?

string path = @"C:\Windows\System32\drivers\etc\hosts"; 
StreamWriter sw = new StreamWriter(path, true); 
string sitetoblock = "\r\n127.0.0.1 http://" + textBox1.Text + 
    " 127.0.0.1 http://www." + textBox1.Text; 

sw.Write(sitetoblock); 
sw.Close(); 
MessageBox.Show(textBox1.Text + " blocked"); 

这是阻止网站代码,....但它是不工作...有时它的工作原理..我怎么能阻止网站?

告诉我什么是正确的方式来阻止网站。

+0

被建议比一些防病毒软件将红旗这种行为。许多病毒和间谍软件应用程序都会做这种事情,比如说让microsoft.com指向别的东西。 – BobbyShaftoe 2009-05-18 07:56:12

回答

7

首先。退出http://。

二。不要这样做。

三。在你了解它的工作原理和原理之前,不要做任何事情。

5

首先,这不是阻止网站的有效方法,但是如果您真的想这样做,请查看hosts文件的格式。

如果您想通过劫持DNS查找来阻止某个网站,则只需重定向主机名。

hosts文件要生成看起来是这样的:

127.0.0.1 http://website/file

你想要的文件中看到的是这样的:

127.0.0.1网站

+1

我一直在尝试使用主机文件阻止几个月的网站,并感谢这个评论现在终于可以正常工作。非常感谢。 – jukhamil 2015-08-22 22:20:28

0

'主机'文件将IP地址映射到主机名,所以它不需要协议位和部分。

您应该将“127.0.0.1主机名”写入文件,例如阻止“badsite.com”你要补充:

127.0.0.1 badsite.com 
127.0.0.1 www.badsite.com 

可能有更好的方法来阻止网站虽然;-)

+0

127.0.0.1 badsite.com 127.0.0.1 www.badsite.com 但它不工作... – ankush 2009-05-18 08:06:59

+0

也许是一个缓存问题 - 关闭并重新打开您的浏览器。或者打开一个新的命令行并尝试'ping www.badsite.com'并检查它解析的IP地址。 – 2009-05-18 08:31:00

+0

如果有人输入google.com,但它不是阻止..在浏览器谷歌打开google.co.in链接 – ankush 2009-05-18 08:58:24

1

许多间谍软件/广告软件程序阻止访问的主机文件。所以这样做很可能会失败。 Imho它会更好地阻止在防火墙的URL

相关问题