php獲取訪客唯一標識,php獲取用戶唯一標識

本文目錄一覽:

php微信開發,微信有什麼可以獲取的唯一標識一個用戶的變數嗎?怎麼獲取?

唯一標識是openid,獲取方法參考微信api相關文檔,這個回答好像是廢話,但我只能這麼回答

php 如何獲取客戶端唯一標識

標識一個客戶端:

首先服務端就排除了,因為可以用多個用戶登錄。

然後看客戶端有什麼辦法,只能是採用客戶端存儲的方式

1、cookie 這個你排除了,可能是因為清除cookie比較容易操作。但這也是一種辦法。

2、客戶端的dom存儲,這個有一定的局限,只有新的瀏覽器支持。而且同樣可以刪除。

3、插件方式,這個需要客戶安裝,一般不可能,但可以利用比較流行的安裝率比較高的插件,例如flash,採用flash的本地存儲記錄。同樣可以刪除。

綜上,不可能完全的防止,但可以採用幾種技術的結合,這樣可以增加重複發布的難度。

但是還是那句話,是否重複發表信息是由用戶決定的。如果用戶認為重複發布的成本高於了解除這個限制的成本,那麼也就降低了用戶重複發布的幾率。

這個沒有完美的解決方案,只能是儘力。

thinkphp怎麼生成唯一標識

1、md5(time() . mt_rand(1,1000000));

這種方法有一定的概率會出現重複

2、php內置函數uniqid()

uniqid() 函數基於以微秒計的當前時間,生成一個唯一的 ID.

w3school參考手冊有一句話:”由於基於系統時間,通過該函數生成的 ID 不是最佳的。如需生成絕對唯一的 ID,請使用 md5() 函數”。

3、官方uniqid()參考手冊有用戶提供的方法,結果類似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}

public function create_guid($namespace = ”) {

static $guid = ”;

$uid = uniqid(“”, true);

$data = $namespace;

$data .= $_SERVER[‘REQUEST_TIME’];

$data .= $_SERVER[‘HTTP_USER_AGENT’];

$data .= $_SERVER[‘LOCAL_ADDR’];

$data .= $_SERVER[‘LOCAL_PORT’];

$data .= $_SERVER[‘REMOTE_ADDR’];

$data .= $_SERVER[‘REMOTE_PORT’];

$hash = strtoupper(hash(‘ripemd128’, $uid . $guid . md5($data)));

$guid = ‘{‘ .

substr($hash, 0, 8) .

‘-‘ .

substr($hash, 8, 4) .

‘-‘ .

substr($hash, 12, 4) .

‘-‘ .

substr($hash, 16, 4) .

‘-‘ .

substr($hash, 20, 12) .

‘}’;

return $guid;

}

php 如何獲取客戶端唯一標識?

回答你第一個問題, 相對情況下, 獲取客戶端, 只能是ip, cookie

但,就如你說的, ip會變, cookie會排除, 所以嘛, 沒有辦法了!

不像桌面應用程序(軟體), 由於是直接運行在用戶電腦的上的, 所以可以獲取網卡地址, 這個比較唯一(但也不絕對, 有軟體可以改網卡地址)

但php一般是網站形式, 獲取客戶端的網卡地址, 需要用戶授權允許, 否則是獲取不到的!

PHP能否獲取客戶端唯一標識(cpu序列號,mac地址等)

許可權足夠的情況下,可以輸出cpu信息php調用:$a = exec(‘cat /proc/stat’);php有個執行方式是用“包裹字元串,同樣可以在系統上直接執行同樣需要足夠的許可權。

php如何獲取客戶端唯一標識符IP?mac地址?

?php       

    class GetMacAddr{

            var $return_array = array(); // 返回帶有MAC地址的字串數組

            var $mac_addr;

            function GetMacAddr($os_type){

                    switch(strtolower($os_type)){   

                            case “linux”:$this-forLinux();break;

                            default:$this-forWindows();break;

                    }   

                    $temp_array = array();   

                    foreach ( $this-return_array as $value ){   

                            if ( preg_match( “/[0-9a-f][0-9a-f][:-]”.”[0-9a-f][0-9a-f][:-]”.”[0-9a-f][0-9a-f][:-]”.”[0-9a-f][0-9a-f][:-]”.”[0-9a-f][0-9a-f][:-]”.”[0-9a-f][0-9a-f]/i”, $value, $temp_array ) ) {   

                                    $this-mac_addr = $temp_array[0];   

                                    break;   

                            }   

                    }   

                    unset($temp_array);   

                    return $this-mac_addr;   

            }  

            function forWindows()   {   

                    @exec(“ipconfig /all”, $this-return_array);   

                    if ( $this-return_array )   

                            return $this-return_array;   

                    else{   

                            $ipconfig = $_SERVER[“WINDIR”].”\system32\ipconfig.exe”;   

                            if ( is_file($ipconfig) )   

                                    @exec($ipconfig.” /all”, $this-return_array);   

                            else  

                                    @exec($_SERVER[“WINDIR”].”\system\ipconfig.exe /all”, $this-return_array);   

                            return $this-return_array;   

                    }   

            }   

      }   

   //—實例化類

    $mac = new GetMacAddr(PHP_OS);   

    echo $mac-mac_addr;   

    echo “br /”;   

    echo md5($mac-mac_addr);        

    ? 

以上代碼是獲取mac地址的代碼,在網上抄的,但實測有效,括弧,我x,我第一次知道原來php也可以執行命令行。。。

 

至於如何限制,應該是去截取mac的一部分經行if判斷就可以了,你先嘗試一下

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286266.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:07
下一篇 2024-12-22 16:07

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python中接收用戶的輸入

    Python中接收用戶的輸入是一個常見的任務,可以通過多種方式來實現。本文將從以下幾個方面對Python中接收用戶的輸入做詳細闡述。 一、使用input函數接收用戶輸入 Pytho…

    編程 2025-04-29
  • Python彈框讓用戶輸入

    本文將從多個方面對Python彈框讓用戶輸入進行闡述,並給出相應的代碼示例。 一、Tkinter彈窗 Tkinter是Python自帶的圖形用戶界面(GUI)庫,通過它可以創建各種…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Zookeeper ACL 用戶 anyone 全面解析

    本文將從以下幾個方面對Zookeeper ACL中的用戶anyone進行全面的解析,並為讀者提供相關的示例代碼。 一、anyone 的作用是什麼? 在Zookeeper中,anyo…

    編程 2025-04-28
  • Python中獲取用戶輸入命令的方法解析

    本文將從多個角度,分別介紹Python中獲取用戶輸入命令的方法,希望能夠對初學者有所幫助。 一、使用input()函數獲取用戶輸入命令 input()是Python中用於獲取用戶輸…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python接收用戶鍵盤輸入用法介紹

    本文將從多個方面對Python接收用戶鍵盤輸入進行詳細闡述,給出相關的代碼示例,讓大家更好的了解和應用Python的輸入功能。 一、輸入函數 在Python中,我們可以使用兩種函數…

    編程 2025-04-27
  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 2025-04-27

發表回復

登錄後才能評論