2011-08-18 30 views
2

這是我們想通過c#應用程序實現的。有沒有辦法做到這一點,還是不可能?如何禁止訪問某些網站,直到重新啓動,而不更改主機文件?

  1. 在上午11點到下午2點之間禁止訪問網站(比如www.stackoverflow.com)。
  2. 也可以在同一小時內阻止對MSN Messenger的訪問。
  3. 如果機器重新啓動,請停止阻塞。

讓我們困惑的是阻塞屬於哪個確切點。目前我們唯一可能的解決方案是通過編程方式更改主機文件以阻止並取消阻止某些網站。這個解決方案會在幾個點上下降。

  1. 用戶可以手動將主機文件更改回來,這是不可取的。
  2. 如果用戶在上午11點打開瀏覽器,則必須重新啓動瀏覽器才能獲取修改後的主機文件。
  3. 我是一名Web開發人員,因此並不完全確定這是如何工作的,但我相信c#應用程序必須以管理員身份運行才能編輯主機文件,而這又不會令人滿意。

任何想法?乾杯!

編輯:爲了澄清,我們正在嘗試生成類似macfreedom.com的東西 - 所以用戶不會經歷我們控制的代理或網絡(除非解決方案是使用戶的機器指向代理服務器但我懷疑這是可行的或合意的)。通過關閉網絡適配器直到重新啓動macfreedom.com似乎工作。我們希望獲得更微妙的效果。

+6

「用戶可以手動更改主機文件,這是不可取的。」 vs「如果機器重新啓動,請停止阻塞」。我猜測,確定的用戶會很快找出你的方法中的這個漏洞。如果你真的想這樣做,在網絡級別使用路由設備,而不是在客戶端。 – spender

+0

謝謝。出於所述原因,我們對問題中描述的方法得出了同樣的結論。我編輯了這個問題來澄清我們想要做的事情。我認爲網絡層面的變化將不是首發。 – centralscru

回答

-1

這應該像大多數客戶端防火牆一樣工作......一個網絡過濾驅動程序丟包......我擔心你將不得不使用內核模式驅動程序 - >所以.NET似乎沒有了遊戲......

相關問題