2010-07-16 22 views
2

如果我有一個通用的公共asp.net網站,我想知道誰在瀏覽我的網站(我知道如何獲得該網站),但更重要的是,我想知道哪些公司用戶來自(這是一位查看我的網站的微軟員工,或者是查看我的網站的可口可樂員工,或者是使用家用計算機查看我的網站的此人)。我如何確定計算機域名?希望這是有道理的。在asp.net中檢測用戶域

更新:在大多數公司中,我在「計算機名稱,域和工作組設置」中看到公司名稱包含「完整計算機名稱」或域值。那就是我想要訪問的內容。

回答

3

你不能以絕對的確定性來做到這一點 - 儘管你可能會獲得一些成功,但它也會遇到與getting their computer name類似的問題。

你可以嘗試的方法是對IP地址進行反向查找並獲取地址的域部分(請參閱前面的代碼示例鏈接)。

但是,特別是對於小公司來說,這可能只是解析爲ISP的域名,或者根本不解決。對於家庭用戶來說,它幾乎肯定只是ISP。

您可以嘗試的另一件事是在IP地址上執行WHOIS。這可能會給你一個公司的跡象;再次,對於小公司來說,這更可能只是一個ISP。

0

您可以使用Request.ServerVariables(「remote_addr」)來查找從客戶端傳遞給您的IP地址,然後使用它來查找它來自哪裏。一個警告的話,IP地址可以被欺騙,再加上你可能只是獲得代理服務器的地址,所以這些東西不是確切的。

獲得IP地址後,您需要執行whois查找以查明其來源。你可能想看看here找到一個whois api。

您也可以考慮通過webtrends或其他一些分析工具來運行某種網絡日誌分析,以獲得批量形式的相同信息。因爲所有這些信息都可能存儲在您的Web服務器日誌中。

0

如果沒有用戶實際登錄到您的公共網站並使用憑據,則無法訪問計算機名稱/域名憑據。如果是這樣的話,你可以使用訪問遠程登錄的用戶:

Request.ServerVariables["REMOTE_USER"] 

的唯一方法去接近你所問的是使用第三方軟件。 Maxmind.com只是一家擁有地理位置服務的公司。你可以看到他們提供organisation field in their IP-to-City lookup

如果用戶從公司網絡訪問您的網站,Maxmind應該將該數據作爲其數據庫的一部分,然後您可以使用該數據。

請記住,組織引用IP地址(網絡塊)所有者。因此,如果用戶從家中,移動設備或公司網絡外的任何地方訪問您的網站(或Maxmind具有不正確或不完整的數據),那麼數據就會丟失,誤導或錯誤。組織需要足夠大以擁有並註冊自己的IP地址塊

此信息也可能在Google Analytics中可用。

+0

好吧,如果用戶從工作中登錄,他們在微軟工作,我猜他們只能登錄使用他們的工作憑證,正確嗎? – user279521 2010-07-16 15:54:59