[英]How to get a unique PC ID from a web browser
我有一個Web應用程序,它將運行幾個特定的目標機器。 我可以讓用戶在登錄時選擇他所在的機器,但這很容易出錯。 有沒有辦法可以從每台PC獲取一些唯一的ID,將它們存儲在我的服務器上的數據庫中,然后當有人從特定的機器登錄時,識別該機器? 我想到了IP地址,但由於部署的性質,這些也可能會發生變化。 但至關重要的是,我知道系統運行的是哪台機器。
注意:我不是要確定Web用戶計算機的機器代碼,因為這會違反隱私。 我知道我的機器所以我想以某種方式將它們綁定到數據庫。 這對我來說也起到了安全作用,因為我可以拒絕來自未知機器的登錄。
謝謝你的任何想法。 我使用Code Igniter 3和Centos 6.5運行Apache
沒有客戶端組件,瀏覽器插件或類似的東西是不可能的。 最接近的替代方案是:
每個都有自己的缺點。
您可以將其用作計算機ID:
$computerId = $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['LOCAL_PORT'].$_SERVER['REMOTE_ADDR'];
這並不是完全萬無一失的,因為$_SERVER
的值可以偽造,但它仍然會添加一個不依賴於cookie的額外安全層。
用戶第一次訪問您的站點時,請通過IP地址識別他們的計算機。 然后使用您選擇的唯一標識符設置持久性cookie。
下次他們訪問該站點時,您可以通過之前設置的唯一標識符cookie來識別它們。
我要么
使用像bin2hex(openssl_random_pseudo_bytes(512))
類的值並將其設置為cookie然后檢查cookie
要么
使用基於IP的日志記錄(127.0.0.1)已鍵入hello
要么
MAC地址(php庫)
您甚至可以嘗試獲取MAC地址:
使用這個類(https://github.com/BlakeGardner/php-mac-address)
這是一個用於在Unix,Linux和Mac OS X操作系統之上進行MAC地址操作的PHP類。 它主要是為了幫助欺騙無線安全審計而編寫的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.