Php 将$\u POST值与数据库字段进行比较
我很确定这段代码有问题:Php 将$\u POST值与数据库字段进行比较,php,mysql,Php,Mysql,我很确定这段代码有问题: $sql="select * from user where username={$_POST['username']}AND pwd= {$_POST['password']}"; $r = mysqli_query($link,$sql); if($r) { $_SESSION['loggedin']=true; echo "Welcome". $_POST['username']; } 是的,您暴露于SQL注入。请了解Prepred声明 此外,您显然
$sql="select * from user where username={$_POST['username']}AND pwd= {$_POST['password']}";
$r = mysqli_query($link,$sql);
if($r)
{
$_SESSION['loggedin']=true;
echo "Welcome". $_POST['username'];
}
是的,您暴露于SQL注入。请了解Prepred声明 此外,您显然以明文形式存储密码。这是一个安全风险,因为如果您的数据库被暴露(由于SQL注入攻击,例如咳嗽),您的所有密码都可能被泄露 几个链接:
eval('md5({$\u POST[\'password\']}”)代码>不是散列密码的正确方法!?伙计,我做错了。mysqli
实际上支持占位符,所以修复这部分应该很容易。@tadman:它支持占位符的事实很有帮助。但是你必须使用它,你知道:)而且对准备好的语句的任何驱动程序支持都不会保存此人的数据库密码或XSS问题:D.至少它不需要重新编写一些可怕的基于mysql\u查询的系统。Madara Uchiha是正确的。您还忘了获取查询。