2013-07-08 140 views
0

我正在開發REST API,在某些情況下,我想確保請求來自設置在後端UI中的已知IP。 我嘗試這樣做:驗證請求主機

try { 
    URL url = new URL(allowedHostname); 
    InetAddress[] allowedIps = InetAddress.getAllByName(url.getHost()); 
    for (InetAddress host : allowedIps) { 
     if (requesterIp.equals(host.getHostAddress())) { 
      return true; 
     } 
    } 
} catch (UnknownHostException e) { 
    logger.warn("[validateHostname] ", e); 
} 
return false; 

其中allowedHostname = request.getRemoteAddr()

但它似乎並不工作。 我不想只驗證主機名,因爲以另一個主機的名義發出請求相對容易。

編輯

requesterIp = request.getRemoteAddr()

allowedHostname =預定義的URL在後臺UI設置

回答