-2

我希望在 php 页面中为我的 mysql 连接提供安全防护。

我的数据库用户密码与 root 密码不同。我用过这个查询:

function make_safe2($safe) 
{
$safe = strip_tags(mysqli_real_escape_string(trim($_POST['bname'] . $_POST['why'] . $_POST['email'] . $_POST['submit'])));
return $safe; 
}

有没有其他方法可以确保安全免受 SQL 注入和其他黑客攻击。我没有任何登录页面。我有一个带有 bname、原因和电子邮件字段的表单以及一个提交按钮。提交按钮是否需要转义字符串?:P 愚蠢的问题,我猜。

其他预防 SQL 注入的方法和其他方法的完整语法将不胜感激。:)

4

1 回答 1

2

您应该使用带有绑定参数的准备好的语句。

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
mysqli_stmt_execute($stmt);

请参阅文档

这个答案是了解如何防止 SQL 注入的完整指南。

于 2013-03-10T15:35:40.597 回答