PHP转义SQL语句防止注入攻击 | mysqli_real_escape_string() 函数使用指南
在PHP中,可以使用函数 mysqli_real_escape_string() 来转义SQL语句中的特殊字符,从而有效防止SQL注入攻击。该函数接受两个参数:第一个参数是数据库连接对象,第二个参数是要转义的字符串。
例如:
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
$username = mysqli_real_escape_string($mysqli, $_POST['username']);
$password = mysqli_real_escape_string($mysqli, $_POST['password']);
$sql = "SELECT * FROM users WHERE username='{$username}' AND password='{$password}'";
在上面的例子中,我们使用 mysqli_real_escape_string() 函数将用户输入的用户名和密码进行转义,以防止SQL注入攻击。
注意:
mysqli_real_escape_string()函数只能转义一些常见的特殊字符,并不能完全防止SQL注入攻击。- 在使用该函数时,一定要确保数据库连接对象是有效的。
- 建议使用预处理语句(Prepared Statements)来防止SQL注入攻击,因为预处理语句可以将SQL语句和数据分开处理,从而避免了数据被直接插入到SQL语句中。
原文地址: https://www.cveoy.top/t/topic/mkeK 著作权归作者所有。请勿转载和采集!