2011-08-05 5 views
1

私は本当に奇妙な問題があります。

<?php 

session_start(); 

echo $_SESSION['token']; // should print previous token 

echo "<br/>";  

$_SESSION['token'] = md5(uniqid()); // set new token 

echo $_SESSION['token']; // new token which should carry through on page load, but doesn't 

?> 

本当に簡単:

これが私のファイルです!

最初のecho文は、前のページの読み込み時に設定されたトークンを出力します。しかし、私が理解できないいくつかの奇妙な理由のために、それはまったく異なるトークンを印刷するということです!

ありがとうございます。

+0

このスクリプトを偶然指しているmod_rewriteルールはありますか? –

+0

は実際に作成されたクッキーですか?設定されたsession.save_path内にファイルがありますか?編集:あなたのスクリプトは機能しているので、設定の問題を探します。 – Scuzzy

+0

@DanGrossman - Aha!はい、書き換えルール(私はnginxを使用しています)とは何かです。ルールを削除してファイルに直接アクセスすると、問題ありません。なぜこれがどんなアイデアですか? – Emmanuel

答えて

4

ウェブページをリクエストするたびに、ブラウザは/favicon.icoの2回目のリクエストを行います。これらの要求をこのスクリプトにマッピングする書き換えルールがある場合、トークンが変更されます。

関連する問題