簡體   English   中英

vBulletins會話表的登錄列是什么意思?

[英]What does the loggedin column of vBulletins session table mean?

在vBulletin 4.2中, session表具有已loggedin的列。 由於VB似乎沒有正式的數據庫文檔,所以我想知道它的確切含義,因為該列是SMALLINT而不是簡單的布爾值。

我以前的逆向工程: 0表示未登錄。12用於登錄的用戶,但是我看不出有什么區別。 我既有常規用戶會話,也有loggedin=2面板loggedin=2管理面板會話。

嘗試通過在vBulletins php文件上運行grep來獲取更多信息, 而沒有 遇到 麻煩

所以我的具體問題是:

  • 1和2會話的區別是什么?
  • 是否有超過0、1和2的狀態?
  • 當vBulletin的代碼似乎不使用它們時,它們甚至有關系嗎?

我了解到我對*.php文件的過濾器破壞greps遞歸掃描方法。 掃描所有 php文件中'loggedin'的正確命令(用引號引起,因為vB在$vbulletin->session對象上以這種方式使用它們):

grep -rn --include \*.php "'loggedin'" .

這給出了一些結果。 最有趣的:

./includes/functions.php:7558:                  $vbulletin->session->set('loggedin', 2);

打開functions.php我們看到了調用,我們很幸運,至少在代碼vB開發人員中,決定注釋將是有用的:

if ($vbulletin->session->vars['loggedin'] == 1 AND !$vbulletin->session->created)
{
      # If loggedin = 1, this is out first page view after a login so change value to 2 to signify we are past the first page view
      # We do a DST update check if loggedin = 1
      $vbulletin->session->set('loggedin', 2);
      // ...
}

因此,我們可以說1/2並未提供有關會話類型的信息。 它可以是普通用戶,也可以是管理員會話。 loggedin指示用戶是否已經查看過其他頁面,但是vB開發人員需要對此進行說明。

暫無
暫無

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

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