相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

在PHP中,当我向数据库提交字符串时,我应该使用htmlspecialchars()处理非法字符还是使用正则表达式?

我正在处理一个表单,其中有可能让用户在要提交给数据库的字符串中使用非法/特殊字符.我想在字符串中转义/否定这些字符,并且一直在使用htmlspecialchars().但是,有更好/更快的方法吗?

php sql-injection special-characters illegal-characters

19
推荐指数
2
解决办法
8138
查看次数

Htmlentities vs addslashes vs mysqli_real_escape_string

我一直在阅读有关保护PHP应用程序的一些内容,在我看来,这mysqli_real_escape_string是在将数据插入MySQL表时使用的正确函数,因为这addslashes可能会导致智能攻击者发生一些奇怪的事情.对?

但是,有一件事令我感到困惑.我似乎记得被告知addslashes比将htmlentities用户输入的数据回复给用户以保护他们的数据更好,但似乎addslashes是有漏洞的人.这是真的,还是我记错了?

php security mysql-real-escape-string addslashes

7
推荐指数
2
解决办法
1万
查看次数

混淆何时使用addslashes以及何时使用htmlentities

可能重复:
Htmlentities vs addslashes vs mysqli_real_escape_string
何时使用哪个字符串转义方法?

嗨,我很困惑何时使用addslashes以及何时使用htmlentities.

你能告诉我一个例子,我应该在哪里使用addslashes以及何时使用htmlentities.

php

3
推荐指数
1
解决办法
3889
查看次数