1
if($_POST['user'] == 'anita' && $_POST['pw'] == '123')
{
    $_SESSION['username'] = $_POST['user'];
    echo "Welcome, " . $user;
    $loggedin = true;
}else
{
    die('Log in details incorrect.');
}

if(isset($_SESSION['username']))
{
   // Show website edit menu
}

私はWebサイトを作成していて、顧客が自分でサイトを更新できるように、顧客が使用できる小さな自作のCMSを追加することを考えていました。

これは誰かの詳細を保存するための安全な方法ですか?$ _SESSION ['username']がユーザーがログインしていることを検証するように設定されているかどうかを確認できますか?

4

3 に答える 3

2

通常、セッションファイルは純粋にサーバーに保存され、ユーザーが直接アクセスできるのはセッションCookieだけです。そのCookieには通常、セッションのIDのみが含まれ、他には何も含まれません。

悪意のあるユーザーが、コード以外の方法でセッションストレージシステム(ファイル、データベース)にアクセスする手段を持っていない限り、セッションに保存されているものを変更する方法はありません。

于 2012-11-01T21:15:26.927 に答える
1

はい、そうです。サーバー側でセッションを設定すると、ハッカーがサーバーファイルの書き込みにアクセスする必要があるか、ファイルの書き換えにつながるクライアントコードの非常に恐ろしいバグを見つける必要があるため、非常に安全です。

セッション固定とそれを防ぐ方法について調査し、CMS側でSSLを使用してみてください。

于 2012-11-01T21:15:24.010 に答える
0

一般的に、セッションは安全です。ただし、ハイジャックの影響を受けやすくなっています。セッションは、サーバーに保存されているセッションIDによって一意に識別されます。これは、サーバーとコンピューター間の唯一のリンクです。誰かがこのIDを取得した場合、その人はあなたのセッションにアクセスできます。

ダリウス

于 2012-11-01T21:30:29.877 に答える