这种防不了的,最了的方法是你有用ORM框架或SQL变量,不要拼SQL,就不会有注入存在
不好意思,只看大标题了,没看见内容
我只是不想让用户输入一些关键字,比如Insert、delete之类的 都有哪些啊??
这个其实也好办,grant权限时,给他授权只有select权限,然后通过这个帐户去连数据库,也就只能查询了。
比较简单的方式就是你把查询参数化
1.要以变量方式传参到数据库。
2.要对用户的输入进笔过滤。过滤掉不安全的语句。
可以用正则表达式规定文本框里输入的内容,交由后台判断,如果匹配了正则表达式那么就返回一个错误信息
让用户在文本框输入sql 语句?这种方法碉堡了!太危险了!非要这样,那你就要过滤关键字了,比如sql常见的注入: 1=1 过滤这些注入关键字!
黑名单过滤的方法总是有风险的。建议,用参数化查询