簡體   English   中英

如何從Web瀏覽器獲取唯一的PC ID

[英]How to get a unique PC ID from a web browser

我有一個Web應用程序,它將運行幾個特定的​​目標機器。 我可以讓用戶在登錄時選擇他所在的機器,但這很容易出錯。 有沒有辦法可以從每台PC獲取一些唯一的ID,將它們存儲在我的服務器上的數據庫中,然后當有人從特定的機器登錄時,識別該機器? 我想到了IP地址,但由於部署的性質,這些也可能會發生變化。 但至關重要的是,我知道系統運行的是哪台機器。

注意:我不是要確定Web用戶計算機的機器代碼,因為這會違反隱私。 我知道我的機器所以我想以某種方式將它們綁定到數據庫。 這對我來說也起到了安全作用,因為我可以拒絕來自未知機器的登錄。

謝謝你的任何想法。 我使用Code Igniter 3和Centos 6.5運行Apache

沒有客戶端組件,瀏覽器插件或類似的東西是不可能的。 最接近的替代方案是:

  • 使用cookies;
  • 使用客戶證書;
  • 使用瀏覽器指紋識別;

每個都有自己的缺點。

您可以將其用作計算機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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM