是否可以UNION SELECT
通过配置选项完全禁用查询?
除了清理入口参数之外,我想避免使用,UNION
因为在它的帮助下很容易实现SQL injection
表单:
SELECT * FROM users where username = '1' OR 1=1
UNION
SELECT * FROM users -- ' AND password='something'
简单回答你的问题:
不,MySQL 中没有选项可以选择性地禁用UNION
.
SQL_MODE 可用于在一些非常特殊的情况下更改语法的含义,例如使用双引号和||
运算符。见https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html
但一般来说,您不能禁用 SQL 关键字或子句,除非您打开代码编辑器并修改 MySQL 的 SQL 解析器代码,然后构建一个自定义的 MySQL 实例。
我同意其他评论者的意见,即UNION
如果您使用已知实践编写应用程序代码以避免 SQL 注入漏洞,则没有必要禁用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句