使用C#阻止网站访问

时间:2017-05-03 06:34:39

标签: c# asp.net c#-4.0 desktop-application windows-applications

今天我需要一些帮助,我想在C#中创建桌面应用程序,它可以在指定的时间间隔内阻止网站访问。我已经完成了R& D并发现我们可以使用以下示例代码实现它。

String path = @"C:\Windows\System32\drivers\etc\hosts";
StreamWriter sw = new StreamWriter(path, true);
String sitetoblock = "\n 127.0.0.1 stackoverflow.com";
sw.Write(sitetoblock);
sw.Close();
MessageBox.Show("Site Blocked");

正如您在上面的代码中看到的那样,我们可以使用windows目录中的hosts文件来实现它,但我不想通过这种方式完成它。有没有其他方法可以达到这个目的?

提前谢谢!!!!

1 个答案:

答案 0 :(得分:2)

您可以使用Windows Filtering Platform,这是针对此目的构建的。 这是一篇陈旧的文章,关于如何从C#中执行此操作:Packet Filtering in .NET (该文章使用的是以前的,已弃用的,Win2K Packet Filtering API)。这是thread discussing WFP in C#

请注意,除了任何可能的用户干扰外,这种阻止最好在路由器上完成。

相关问题