0

セッション ハイジャックから保護されたログイン スクリプトを作成しようとしています。私の質問は次のとおりです。これを行うにはどうすればよいですか? 安全な方法でこれを行う方法がよくわかりません。現在、私はこのコードを持っています。

if (!empty($_POST["naam"]) && !empty($_POST["wachtwoord"]))
{
    $naam = $_POST["naam"];
    $wachtwoord = $_POST["wachtwoord"];
    $salt = "boterhammetkaas";
    $wachtwoord = sha1($wachtwoord.$salt);
    $query =$db->prepare("SELECT * FROM opdracht4 WHERE naam = :naam and wachtwoord = :wachtwoord");
    $query->bindParam(':naam', $naam, PDO::PARAM_STR);
    $query->bindParam(':wachtwoord', $wachtwoord, PDO::PARAM_STR);
    $query->execute();
    $rij = $query->rowCount();
    if($rij == 1) 
    {
    $result = $query->fetch(PDO::FETCH_OBJ);
    $status = $result->status;
    //setcookie("TestCookie", $status, time()+3600);
    //setcookie("ip", $ip, time()+3600);
    $_SESSION['status']= $status;
    $_SESSION['naam']= $naam;
    }
    else 
    {
       $antwoord = 'Deze gegevens zijn niet bekend';
    }

 if (!empty($_SESSION["status"]))
        {
            if ($_SESSION["status"] == 1)
            {
                include 'beheerder4.php';
                $page = 'overzicht';
            }
            if ($_SESSION["status"] == 2)
            {
                include 'projectleider4.php';
                $page = 'overzicht';
            }
            if ($_SESSION["status"] == 3)
            {
                include 'gebruiker4.php';
                $page = 'overzicht';
            }
        }

ご協力ありがとうございました。

4

1 に答える 1

0

ほとんどのセッション ハイジャックの試みは、サーバーに対して適切な SSL/TLS 暗号化を使用し、Cookie を安全なものとして保存するだけで防ぐことができます (https のみ - の 6 番目のパラメーターsetcookie)。

これにより、中間者攻撃や、firesheep などのブラウザー拡張機能がパケットを盗聴してこの情報を取得するのを防ぎます。

誰かがコンピュータに物理的にアクセスするのを止めるものは何もありません。それは不可能であり、保護する価値もありません (ほとんどの人は、ソーシャル ネットワーキング アカウント以外にも、失くしたり他人の手に渡したくなるようなものをコンピューター上にたくさん持っています)。

于 2013-02-14T13:17:44.970 に答える