PHP セキュリティに関するいくつかの記事を読んでいて、この記事に出くわしました:
http://shiflett.org/articles/session-fixation
この記事では、URL リクエストで PHPSESSID 変数を渡すことにより、セッションを簡単に修正できることを説明しています (例: ?PHPSESSID=1234
)。ただし、 php.ini でが に設定されている場合、PHP はとを異なるタイプの変数として扱い$_GET
、URL リクエストで使用してもこの問題は発生しないことを理解しています (間違っている場合は修正してください) 。$_SESSION
$GLOBALS
register_globals
off
?PHPSESSID=1234
次のスクリプトをテストしました。
session_start();
if (!isset($_SESSION['count']))
{
$_SESSION['count'] = 0;
}
else
{
$_SESSION['count']++;
}
echo $_SESSION['count'];
しかし、サーバー上でセッションの固定を再現できないようです.php.iniでregister_globals
設定したためだと思いoff
ました。
私はこれについて間違っていますか?
確実に知ることが重要なようです。