1

つまり、セッションに保存し、ユーザーがログインしたときにそのページにリダイレクトしますか?

$_SESSION['last_page'] = $_SERVER['PHP_SELF'];    
//(in a common file on all pages)

そしてログイン後:

header('location: ' . $_SESSION['last_page']);`

人々が特定のキーの値を変更できると読んだので、私は疑問に思っています$_SERVER

SCRIPT_NAME代わりに使用した方が良いでしょうか、それとも問題ありPHP_SELFませんか?

4

3 に答える 3

4

XSS の脆弱性に使用できます。

危険を冒さずに使用してください

 $_SERVER['SCRIPT_NAME'];

代わりは。

于 2013-04-14T11:47:45.467 に答える
0

セッション変数を直接信頼することはできません。これらは、GET 変数や POST 変数と同様にユーザー入力と見なされます。したがって、特にリダイレクトで$_SESSION['last_page']使用する前に、有効かどうかをテストするために、いくつかの可能性をリストする (または代わりに REGEX を使用する) ことをお勧めします。

于 2013-04-14T11:46:50.733 に答える