防范 SQL 注入攻击
防范 SQL 注入攻击
我们执行的 SQL语句中包含变量,执行的时候会直接把变量内容替换进去。而如果攻击者在输入框中输入一些危险的字符(通常包含 SQL 注释符 --,以及其他预先精心设置的内容),就可能导致该次 SQL 查询完全被改写成攻击者需要的意思。为了防范这种攻击,我们需要对可能存在的危险字符进行过滤和转义,较为便捷的方法是使用两个函数。改进后的部分如下:
<?php
$user = mysqli_real_escape_string($dbc, trim($_POST['username']));
$info = mysqli_real_escape_string($dbc, trim($_POST['info']));
?>
我们执行的 SQL语句中包含变量,执行的时候会直接把变量内容替换进去。而如果攻击者在输入框中输入一些危险的字符(通常包含 SQL 注释符 --,以及其他预先精心设置的内容),就可能导致该次 SQL 查询完全被改写成攻击者需要的意思。为了防范这种攻击,我们需要对可能存在的危险字符进行过滤和转义,较为便捷的方法是使用两个函数。改进后的部分如下:
<?php
$user = mysqli_real_escape_string($dbc, trim($_POST['username']));
$info = mysqli_real_escape_string($dbc, trim($_POST['info']));
?>