0

パスワードで保護されたページのユーザー認証スクリプトを作成しました。

スクリプトの最初のバージョンでは、ユーザー名とパスワードがデータベースのものと一致するかどうかを確認することから始めました。一致する場合は、$_SESSION['user_connected'] 変数と $_COOKIE['user_connected'] 変数を真実。私のindex.phpファイルは、 $_COOKIE['user_connected'] が設定されているかどうかを確認することから始まり、trueの場合はデータベースチェックをバイパスしました。

その後、ユーザーが Cookie にアクセスでき、サイトにアクセスする前に誰かが $_COOKIE['user_connected'] を TRUE に設定するだけで混乱が生じることに気付きました。しかし、 $_SESSION 変数はどうでしょうか? ユーザーが接続されているかどうかを Web サイト全体で確認するためにそれらを安全に使用できますか?

tl;dr: ユーザーは $_SESSION 変数を変更できますか?

4

2 に答える 2

8

いいえ。

それらはサーバーに保存され、サーバー上で実行されているスクリプトによってのみ編集可能です。

ユーザーは、関連付けられているデータのバンドルを識別するトークンのみを取得します。

于 2012-06-12T07:56:34.820 に答える
5

重複の可能性:悪意のあるユーザーが $_SESSION を編集することは可能ですか?

$_SESSIONサーバー側であり、一度設定すると(ユーザーが)変更することはできません

また、この質問を見てください

于 2012-06-12T07:56:25.617 に答える