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