web-dev-qa-db-ja.com

セッションを作成するモジュールを検出するにはどうすればよいですか?

匿名ユーザーのVarnish HITを達成しようとしていますが、MISSのみを取得しています。

私のDrupal 7サイトは、どういうわけか、サイトのメインページさえ開くすべての匿名ユーザーに対して新しいセッションを開始します。どのモジュールがセッションを開始するかを検出したいですか?

1
Val Budkin

セッションを作成している可能性のある特定のモジュールまたは少数のモジュールに強い疑いがない限り、「不適切な」モジュールを見つけるのは面倒すぎる可能性があります。

より正確で高速な方法として、「_ SESSION」のような文字列ではなく「Cookie名」を検索することをお勧めします。

Cookie名が「PLAY_ACTIVE_ACCOUNT」(サイトplay.google.comの実際の例)である場合、contribモジュールの親ディレクトリに移動してgrep -iRn PLAY_ACTIVE_ACCOUNT *このセッションCookieが設定されているファイル名と行番号を検索します。次に、モジュールを無効にするか、他のアクションを実行します。

ブラウザを使用して、Cookieの名前を見つけることができます。 chromeでは、chrome://settings/content新しいタブで、[すべてのCookieとサイトデータ]ボタンをクリックします。次に、サイトドメインの名前を入力します(たとえば、play.google.comを使用した場合など)。

Finding cookie name in chrome browser

2
Sumeet Pareek

これがインストールされているcontribモジュールの1つに問題があると思われる場合は、それらを1つずつ非アクティブ化して、問題が解消されるタイミングを確認するか、セッションを初期化するものがないかコードを検索します。

コメントに投稿したリンクは、現実的な出発点になる可能性があります。私の最初の検索はこのようになります:grep -r '_SESSION' *

Contribモジュールのルートから発行されます。サイト/すべて/モジュール。

1
berliner