0

アプリケーションの各ページで、ユーザーがログインしているかどうかを確認しています。最近、スクリプトが適切に構成されていないことに気付き、いくつか変更を加えました。この新しいメソッドが、ログインしていないユーザーに対して正しい操作順序を実装するかどうか疑問に思っています.

<?php
ob_start();
session_start();

if ($_SESSION['loggedin'] !== true) {
    $_SESSION['messages'][] = '<li>User Not Logged In</li>';
    session_write_close();
    ob_end_clean();
    header('Location: login.php');
    exit;
}
else {
    // execute page
}
?>

このスクリプトの前は、呼び出しはログイン チェック セクションの下にあったため、独自のヘッダーob_start()を生成するリダイレクトの問題が発生していました。session_start()

また、スクリプトがログイン チェックに十分なセキュリティを提供するかどうかも知りたいです。

4

1 に答える 1

1

コードのこの部分は完全で安全ですが、セキュリティを強化するためにいくつか言及する必要があります

また、関数に IF 部分を配置し、それ以外の部分を省略した方がコードが簡単になると思います。また、次の行を削除できます。

session_write_close();
ob_end_clean();
于 2013-06-29T20:27:06.483 に答える