2012-01-27 16 views
-1

如果客戶端有一個特定的IP地址,有沒有辦法阻止到java服務器的傳入連接?如何拒絕某些IP在一個Java服務器

+2

爲什麼不使用操作系統的工具來做到這一點?在Linux中使用iptables阻止IP地址對於管理員來說是一件容易的事情。 – gyorgyabraham 2012-01-27 15:46:44

+1

在代碼中?什麼「java服務器」?你自己?別人的?你看過/試過了什麼? – 2012-01-27 15:47:21

回答

3

接受連接,然後獲取該連接的Socket。之後,調用socket.getInetAddress()並確定是否要回複數據或關閉套接字很簡單。

請注意,由於NAT的普遍性,您可能無法真正區分誰與您連接,因爲請求可能已被重寫(通過NAT),似乎來自網關機器而不是端點-客戶。

如果這是一個嘗試提供一個「稍微更安全」的組連接,請記住,IP地址欺騙平凡,並且有從別人沒有真正的障礙,否則設置他們的機器有你的IP地址。