web-dev-qa-db-ja.com

匿名ユーザーセッションIDを取得する方法

匿名ユーザーが外部Webソケット接続を介してログインしているユーザーとチャットできるチャットモジュールを書いています。

匿名ユーザーを一意に識別し、それらを異なる接続に割り当て、接続のステータスを追跡するためのIDが必要です。

匿名ユーザーの一意のユーザーIDまたはセッションIDを(安全に)取得するにはどうすればよいですか?

6
drcelus

PHPの session_id() を探しています:

session_id()は、現在のセッションのセッションIDを取得または設定するために使用されます。

12
Clive

Drupalは数バージョン前に匿名セッションの追跡を停止しました。 Drupalを騙してもう一度やりたい場合は、カスタムhook_init()実装を使用してモジュールを作成する必要があります。

/**
 * Implements hook_init().
 *
 * <soapbox>The Drupal team decided to remove support for anonymous user sessions
 * starting in Drupal 7.37. This fundamentally breaks several things related to Drupal.
 * I cannot find any documentation of this change in any changeme dating back to 7.33.
 * The answer comes to us from:</soapbox>
 *
 * https://dgtlmoon.com/drupal_7_anonymous_sessions
 */
function mymodule_init() {
  drupal_session_start();
  $_SESSION['nosave'] = TRUE;
}
4
ElusiveMind