我知道你可以通過PHP獲取用戶的IP地址,但是有沒有其他的提示/技巧/腳本可以用來以其他方式識別用戶?識別用戶的其他PHP技巧
回答
目前尚不清楚您是否正在運行SBS和Active Directory/LDAP系統,但可以讓您根據其Windows登錄信息提取有關用戶的更多信息。有關於這個話題有很多在那裏的網站:
- http://www.google.com/search?q=php+active+directory
- Authenticating in PHP using LDAP through Active Directory
$_SERVER
包含了用戶與訪問該網站的瀏覽器的信息:http://php.net/manual/en/reserved.variables.server.php
你也可以使用getbrowser()
將該信息解析爲人類可讀形式:http://php.net/manual/en/function.get-browser.php
那麼,最終確定它們的最好方法是設置一個認證系統並讓它們登錄。
或者,您可以嘗試根據一堆不同的數據來識別用戶,例如他們使用的IP和瀏覽器(例如,如果userip = ip & & userbrowser == browser ...)儘管如此,這很容易規避。
檢查$ _SERVER全局以查找可以與之比較的任何其他數據。
儘管我強烈建議實施一個身份驗證系統 - 這是識別用戶的最佳方式。
我的公司正在建設的網站上有民意調查和競賽,匿名用戶每天可以投票一次。如何解決這種情況的建議是:
- 通過電子郵件確認認證(發送一封電子郵件,一個獨特的鏈接點擊)
- IP地址
- 餅乾
的E-電子郵件不會失敗,但用戶可以擁有很多電子郵件地址,而且這很麻煩(填寫表格,打開電子郵件,點擊鏈接 - 許多人都以這種方式阻止)。
IP不可靠,因爲ADSL用戶每次連接到互聯網時都會有不同的IP(至少是我國最大的ADSL提供商)。另外,代理是一個問題。
Cookies可以很容易地清除/禁用,如果他/她安裝了多個瀏覽器,用戶將被允許多次投票。如果cookie是通過JS設置的,那麼禁用JS的瀏覽器也不會受此影響。
我們決定#2和#3的組合是最好的折衷,但沒有完美的方式。
如果是內部只有網站,那麼你可以使用ident - 也可以參考RFC1413。有基於PHP的實現(嘗試谷歌)。請注意,這需要客戶端運行一個可從您的代碼運行的Web服務器訪問的ident服務器。您不會說客戶端的操作系統 - 有Linux服務器,Unix服務器,Apple Mac服務器和MSWindows服務器。請注意,ident響應未經過身份驗證,可以(相對)輕易僞造。
微軟對這個問題的解決方案是NTLM - 但這是一個正確管理的PITA。
- 1. 識別課程及其責任的技巧
- 2. 運行技巧隊列:使用其他參數
- 3. Microsoft Access 2010的用戶校對技巧
- 4. PHP代碼部署技巧
- 5. 交互式PHP shell技巧
- 6. 主要和其他混淆技巧的三個參數
- 7. 擺脫低級別鎖定的技巧
- 8. 識別其他用戶的特殊文件夾在PowerShell中
- 9. runOnUiThread使用技巧
- 10. 在opencv(或其他)拼接空中拍攝技巧
- 11. 縮短PHP代碼的技巧?
- 12. 限制PHP腳本的建議/技巧
- 13. 其他類中不識別類的類
- 14. 其他語言的語音識別
- 15. 腳本技巧
- 16. nVidia SLI技巧
- 17. CSS hacks(技巧)
- 18. 關於在谷歌地圖中識別土地/海量的技巧的建議
- 19. 使用X11,XDamage,XRender和其他技巧保持屏幕內容的QPixmap副本
- 20. Excel不識別某些日期/時間,但識別其他人
- 21. Php字符串處理技巧
- 22. Python IF語句無法識別其他:
- 23. 識別其他設備位置
- 24. 的Eclipse Ganymede黑客,提示,技巧,技巧和最佳實踐
- 25. 高性能C#服務器套接字的技巧/技巧
- 26. 如何使用Java反射或任何其他技巧實現接口?
- 27. PHP - 通過網址識別用戶ID
- 28. Sphinx搜索技巧
- 29. Alexa技巧離線
- 30. 企業JavaScript技巧
確定如何?作爲一個人? – 2010-11-26 10:22:14