0
我似乎無法找到與我的代碼的錯誤,即使我交叉檢查與其他問題在stackoverflow。別人能看到我犯的一些愚蠢的錯誤嗎?這通常是一個愚蠢的錯誤。sqlite php登錄未運行
<?php
session_start();
$user = $_REQUEST['myusername'] ;
$pass = $_REQUEST['mypassword'] ;
$salt = "TheSaltGoesHere";
$password = md5($salt.$pass);
$db = new PDO("sqlite:/resources/database.db");
$result = $db->query("SELECT COUNT(*) AS count FROM clients WHERE user = '$user' AND pass = '$password'");
if ($result->fetchColumn() > 0) {
$_SESSION['loggedin'] = true;
echo "It worked";
};
if(!$_SESSION['loggedin']){
echo "It failed";
exit;
};
?>
我得到一個普通的500錯誤。但我的語法是正確的。
您正在使用PDO,但未使用準備好的查詢。你正在做的事情是非常不安全的,如果你還沒有,你**將被黑客攻擊。使用準備好的查詢完全避免SQL注入攻擊。另外,不要使用MD5進行密碼散列。有更好的算法可用,如sha1。此外,由於您沒有發佈實際發生的錯誤,因此很難爲您提供幫助。去檢查你的錯誤日誌中的問題的細節。 – Brad 2013-04-30 03:30:39