我怎样才能使这个PHP $_POST更安全?-还是已经安全了?


How could I make this PHP $_POST more secure? -Or is it secure already?

在我的网站上输入的大多数$_post数据,我使用以下php:

$example = $_POST['textfield'];
$example = strip_tags($example);
$example = mysql_real_escape_string($example);

然后我将与MySQL数据库交互…

这是'secure'/'safe'吗?

上述代码是否存在重大漏洞?

-我怎样才能使它安全?

最后一件事是验证数据:

你可以检查它是否为空字符串?一个号码吗?或者任何你想要的数据类型。例如,如果你正在等待一封电子邮件,你可以使用regex来确认它是一封真正的电子邮件。

mysql_real_escape_string使其相当安全

它总是取决于你想对值做什么。如。如果你不想strip_tags一个密码,你应该MD5它。如果您要将其存储在另一个页面上显示,则应该使用html_specialchars来禁用-hacking

有时你应该验证输入是否是整数,如果它不包含数字,如果里面没有A,…

所以这取决于

虽然mysql_real_escape_string()可以防止sql注入,但仍然可能存在不必要的行为。

注意,mysql_real_escape_string()不能转义%_

因此,如果用户在一个提交的表单字段中输入%, LIKE where子句可能返回比预期更多的数据。