这个函数足以防止SQL注入吗?[复制]

Is this function enough for preventing SQL Injection? [duplicate]

提问人:ahmedg 提问时间:4/19/2020 更新时间:4/19/2020 访问量:61

问:

我创建了这个简单的函数,并想知道它是否足以防止SQL注入。

$sub_username = encr(mysqli_real_escape_string($conn, $_POST['username']));
$sub_password = encr(mysqli_real_escape_string($conn, $_POST['password']));

$sql = "SELECT password FROM login WHERE username='$sub_username'";
$result = mysqli_query($conn, $sql);


function encr($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
}
php mysql 数据库 sql 注入 服务器端

评论

4赞 Niet the Dark Absol 4/19/2020
为什么不直接使用准备好的语句呢?比修改你的输入要容易得多......
0赞 brombeer 4/19/2020
如何防止PHP中的SQL注入?
1赞 compuphys 4/19/2020
这回答了你的问题吗?如何防止PHP中的SQL注入?
1赞 Nigel Ren 4/19/2020
我还建议使用 .password_hash()
2赞 Your Common Sense 4/19/2020
好吧,如果你想知道。此代码只是随机的函数调用堆,偶然容易发生 SQL 注入。你必须使用预准备语句,因为无论你做什么,它们都不会让 SQL 注入进来。

答: 暂无答案