簡體   English   中英

如何在不使用session_id()的情況下生成唯一的會話ID?

[英]how to generate unique session ID without the use of session_id()?

我想生成一個會話ID。 此唯一sessionId表示每個不同用戶的一些不同數據。

我的代碼到現在為止:

  1. onclick和onload of page我稱之為函數create_session_id();

     function create_session_id() { // This function sends a string to a PHP page using ajax post. } 
  2. 在我的PHP頁面上,我收到這些數據然后插入它:

     session_start(); $a = session_id(); $object->insert_sessionid($a); 

我的問題

是否可以僅使用session_start() (沒有session_id() )並存儲一些我在以后獲取數據並將數據投放到我的網頁時可以使用的唯一會話ID值。 我不希望任何點擊注冊sessionid。 它應該在頁面加載時發生,並且沒有任何函數create_session_id()

我想把一些餅干帶到圖片中。

注意:我的網站不允許登錄。

使用像這樣的功能

function createRandomVal($val){
      $chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,-";
      srand((double)microtime()*1000000);
      $i = 0;
      $pass = '' ;
      while ($i<=$val) 
    {
        $num  = rand() % 33;
        $tmp  = substr($chars, $num, 1);
        $pass = $pass . $tmp;
        $i++;
      }
    return $pass;
    }

並在會話ID中傳遞返回值

上面的代碼有點兒錯誤,因為user669677編輯了它。

這是正確的代碼:

function createRandomVal($val) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,-";
    srand((double)microtime() * 1000000);
    $i = 0;
    $pass = '';
    while ($i < $val) {
        $num = rand() % 64;
        $tmp = substr($chars, $num, 1);
        $pass = $pass . $tmp;
        $i++;
    }
    return $pass;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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