コードのセキュリティ上の危険 (散在)
私が作成した検証コードの一部に重大なセキュリティ上の危険があることがわかりました。アドバイスをお願いします。このコードの目的は、まず SESSION 変数が登録されているかどうか、およびその値が正当であるかどうかを判断することです。検証が失敗した場合は、ログイン ページにジャンプし、
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><?php
session_start();
//$_SESSION['gid'] 是用户登录成功时注册的变量,值1代表管理员组
if (!isset($_SESSION['gid']) || ($_SESSION['gid'] != 1)) {
header("location:login.php?".SID);
}
//do some thing here
?>
検証の最初のステップが失敗すると、すぐに login.php ページにジャンプすると思っていましたが、実際には検証が失敗すると、後続のコードの一部も実行される(不完全な実行に見えた)のですが、ページにジャンプするまでにある程度の時間がかかり、ジャンプ中にコードの後続の部分が実行されるのでしょうか? header() 関数に遭遇した直後にジャンプしないのはなぜですか?
-----解決策---------
session_start ();
if( 1 != $_SESSION['gid'])) {
header("location:login.php?".SID);
}
//ここで何かしてください
?>
良いと思うスタイル
------解決策---------
まだ理解できません
ゆっくりゆっくり体験
-----解決策---------
友情UP
------解決策---------
exit();
------解決策----------------------
はい、exit() を追加します。
------解決策---------
exit() を追加する必要があります LZとても寛大なので、何か不幸なことがありましたら、手放してください
------解決策---------
PHP コード