java限制ip訪問
JavaWeb項目限制IP訪問
Tomcat配置IP訪問限制與允許(server.xml)
JavaWeb—過濾器的使用–禁止IP登陸
在實際的應用中,我們會遇到這樣的情況,需要對某些Ip進行訪問限制,不讓非法的Ip訪問應用系統。只有合法的Ip才能可以繼續訪問!
『貳』 java中如何獲取用戶的IP地址及禁止此人
樓上的方法是不合理的。第一,如果用戶使用代理,是無法獲得真實Ip的0;第二,IF語句不能保證禁止IP,而且很多網站並不需要登錄的。給樓主些方法,可供參考。
1。 獲取用戶IP
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
這種方法總是獲得用戶的真實IP
2。禁止IP,可以考慮從伺服器下手
(1) 如果用的是tomcat,那麼在tomcat_home/conf/server.xml中的<host></host>之間加一行代碼:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.1.1"/>
這樣192.168.1.1這個ip訪問webapp時會收到 403 錯誤
(2) 如果是apache那麼:
<Directory /var/web/dir1>
Allow from all
Deny from 111.111.111.111
</Directory>
上面限制單個IP,限制IP段用*號代替。如111.111.111.*
(3) 或者樓主也可以像樓上說的用代碼實現,給你個JS代碼:
<SCRIPT LANGUAGE="java script">
<!-- Begin
netscape = (navigator.appName.indexOf("Netscape") != -1);
version4 = (navigator.appVersion.indexOf("4.") != -1);
if (netscape && version4) {
ip = "" + java.net.InetAddress.getLocalHost().getHostAddress();
if (ip.indexOf("235.12") >= -1)
// 這是想要禁止訪問的IP例如: 235.12.xxx.xxx
{
alert("You are not permitted to access this site.");
history.go(-1);
}
}
// End -->
</script>
將以上代碼加入到<head>區域中。
『叄』 java 怎麼控制一個ip訪問次數
可以通過過濾器實現,需要在web.xml中設置過濾的url,在請求到來時進行判斷是否達到請求上限
『肆』 Java web 怎樣限制同一個ip地址訪問網頁查詢次數,每天只允許一個IP查詢一次,怎麼實現
用你這種方式也可以實現,但是不能100%控制,因為代理伺服器什麼的可以隱藏IP
不過可以控制絕大多數的人吧
用Map去記錄IP的話,如果訪問量很大,後台伺服器內存也會加大,
建議用資料庫去記錄
寫個攔截器或者過慮器,訪問的時候獲取客戶端IP存到資料庫,之後只需要查一下資料庫就可以了
資料庫可以寫個Job,24小時執行一次,清除24小時以前的數據即可實現你的需求了.
很簡單的
『伍』 Java Web項目中,如何禁掉頻繁訪問網站的IP
最簡單的思路是,創建一個ip訪問名單表,寫一個filter,將頻繁訪問的ip放進這個表裡,每次訪問查表。
『陸』 JAVA如何限制用戶IP地址
你的意思是把一個Set放到session里用來記錄IP嗎?
感覺好像放到session里不行啊,因為session只是某個ip的用戶和應用的一次會話,一般情況下關掉瀏覽器就沒了,如果該用戶再次訪問該應用的時候就是另外一個session了(session id不同),因此籠統的說,對於同一個ip來說,都可以建立無數個session,那怎麼能讓session里的一個對象保存不同ip信息呢?這樣的話 ,這個Set里永遠只可能有一個ip,就是訪問用戶的ip.
是不是可以考慮放到application里或者乾脆存到資料庫里?
『柒』 java 獲取客戶端區域網ip 並限制訪問次數。
你可以增加一個欄位嗎/
mac address ,pc 的物理地址是不同的,ip 和mac 地址共同形成了一個關鍵字,這樣就不會單獨的限制ip 的訪問次數了;
『捌』 Java web怎麼限制同一個ip(或mac地址)訪問網站,查詢資源次數的
獲取並保存IP,每次查詢前,遍歷IP,若相等,跳過查詢,提示次數受限!
『玖』 java 如何禁止通過ip訪問伺服器,而只能通過域名訪問如果是通過ip訪問,那麼跳轉到相應的提示頁面,謝謝
禁止通過ip訪問伺服器:不需要編程即可實現。
如果伺服器是IIS:把默認站點設置成【跳轉到相應的提示頁面】即可;
同時把你的域名站,用80埠的指定域名即可。
具體操作是:新建域名站--》指定埠8080等--》到站點屬性的【高級】中,添加域名和埠80的指定即可。