我創建了一個登錄腳本(有教程有很大幫助)沒有登錄。它可以工作,並且當有成功的登錄時,就會製作餅乾。問題是,使用教程提供了一種方法來檢查是否有用戶計算機上保存的(有效)cookie用於僅適用於註冊用戶的頁面,但不會產生任何結果(因此可能是錯誤)。我找不到有什麼問題,所以我希望你能幫我修復它。順便一提,餅乾會停留半個小時。PHP與MySQL的登錄腳本 - 保護我的網站的維護部件鎖定頁,如果在使用cookie
<?php
// connect to db
include('connect.php');
// page of login script, used when no/wrong cookie is found
$login_pagina = "login.php";
$sql = "SELECT * FROM members WHERE username='".$_COOKIE['username']."'";
$resultaat = mysql_query($sql) OR die ("Couldn't connect to MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// cookie and databasevalues are not the same
echo "Click <a href=\"".$login_pagina."\">here</a> to login.";
} else {
$login = mysql_fetch_object($resultaat);
if ($_COOKIE['password'] != $login->password) || ($_COOKIE['username'] != $login->username)) {
echo "Cookies couldn't be combined";
} else {
echo "you're logged in!";
}
}
?>
(如本教程在荷蘭我翻譯的意見和一些文字。有些變量仍然在荷蘭,但我認爲這是很清楚。)
不確定本教程是從哪裏來的,但首先要做'$ sql =「SELECT * FROM members WHERE username ='」。$ _ COOKIE ['username']。''「;'不是個好主意 - 閱讀 - > http://php.net/manual/en/security.database.sql-injection.php – ManseUK
也不是在cookie中 – steveo225
鹽漬密碼的MD5存儲密碼是好的作爲cookie(現在還不清楚在腳本) –