如何使用Javascript或Java Servlets獲取客戶端信息?如何使用Javascript或Java Servlets獲取客戶端信息?
客戶端的信息,如客戶端的計算機名稱,IP地址等提前
感謝。
如何使用Javascript或Java Servlets獲取客戶端信息?如何使用Javascript或Java Servlets獲取客戶端信息?
客戶端的信息,如客戶端的計算機名稱,IP地址等提前
感謝。
您可以從servlet中的HTTP請求標頭中獲得一些信息,例如user-agent(這樣您就知道客戶端正在使用哪個瀏覽器(或者想讓我們認爲它正在使用))和remote-addr (客戶端的IP地址(如果客戶端正在使用,則代理服務器的IP地址))。
String userAgent = request.getHeader("user-agent"); // Browser identifier.
String remoteAddr = request.getRemoteAddr(); // IP address.
您無法使用Javascript訪問系統環境變量。那將是一個安全漏洞。有許多使用ActiveX的方法,但只適用於Redmond團隊開發的某種瀏覽器,但仍然需要降低其安全設置以允許其運行。這是一個很大的禁忌。
獲取計算機名稱的唯一方法是運行由網頁服務的客戶端應用程序,並讓此客戶端應用程序嗅探它並將其發送到服務器端。例如分別使用System.getProperty("COMPUTERNAME")
和java.net.URL
的Java Applet。您需要簽名,否則會提示安全警告。通過JS
var ip = '<!--#echo var="REMOTE_ADDR"-->';
雖然我不知道計算機名
獲得用戶的IP,我相信它會涉及的ActiveX。它可以通過IE中的ActivexObject使用。不確定它是否有可能,因爲它絲毫不安全而對此非常懷疑。
只有當服務器支持服務器端HTML包含時纔有效。您顯示的構造是IIS特定的。我不希望OP在IIS上運行servlet。此外,ActiveX方法不適用於所有其他瀏覽器比MSIE,甚至在MSIE上默認情況下不起作用,您必須降低安全設置。 – BalusC 2010-04-21 11:33:15
是的,我剛剛遇到你如何降低安全性到可笑的低水平。所以,堅持使用Java Servlets。 – 2010-04-21 11:36:12
感謝您的回覆 – user322012 2010-04-21 11:29:24