htmlspecialchars是否可以保护此MySQL查询? [英] Does htmlspecialchars protect this MySQL query?
本文介绍了htmlspecialchars是否可以保护此MySQL查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我得到了$_GET
,用户能够将$_GET
字符串发送到MySQL,所以快速提问:
I got a $_GET
and users are able to send the $_GET
string to the MySQL, so quick question:
此查询:
mysql_query("SELECT XX FROM ZZ WHERE YY %LIKE% " . htmlspecialchars($_get['string']) . ";");
足够安全吗?还是我应该添加除htmlspecialchars()
以外的其他内容以确保安全?
enough to be safe? or I should add something more than htmlspecialchars()
to be safe?
预先感谢您的所有答复.
Thank you in advance for all replies.
推荐答案
不安全.
甚至在上显示html特殊字符在做事情"的临时示例数据-只是错误的事物" .
1;DROP TABLE all_your_precious_data--&
快乐的编码.
解决方案:按照PDO或mysqli使用占位符(如果希望继续推广过时的做法,则使用mysql_real_escape_string
...
Solution: Use placeholders as per PDO or mysqli (or use mysql_real_escape_string
if you wish to keep promoting outdated practices...)