本文介绍了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...)

请参见在PHP中停止SQL注入的最佳方法使用PHP防止注入SQL

这篇关于htmlspecialchars是否可以保护此MySQL查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 16:56