2009-10-21 132 views
4

我想阻止所有非美國用戶訪問我的網站。我在前端使用nginx,並有一個Django支持的網站。如何阻止所有非美國IP地址訪問我的網站?

1)如何確定美國IP地址是什麼?

2)我應該阻止他們在我的網絡服務器或我的應用程序層?

+0

基於IP地理位置失敗。子網的購買和銷售一直都是。 – mxmissile 2010-04-26 22:55:56

回答

4

我用過mod_geoip,發現它很大程度上但並不完全有效。知識產權/國家數據庫的準確性是一個問題,保持該數據庫是最新的。我還發現,雖然它有助於減輕來自世界各地與我們網站內容無關的一些垃圾評論和DDOS類型查詢,但它也產生了一些意想不到的後果。例如,有人試圖在海外度假時更新他們的網站列表而被封鎖。 http://www.maxmind.com/app/mod_geoip

5

您需要一個GEO location供應商。

有些是免費的,有些是在線支票,有些給你一個清單或圖書館。
一般而言,您希望獲得的準確度越高,付出的代價越高。

您可以如何準確地做到這一點是有限制的。一些小國家的流量可能會通過美國或美國託管的域名服務器。一般來說,美國客戶不應該得到太多的漏報。

+0

http://geodjango.org/docs/geoip.html - 可能幫助 – AvatarKava 2009-10-21 14:25:47

+0

根據您使用的語言/框架,wiki鏈接中列出了一堆 – 2009-10-21 15:37:25