containsInjection method
判断指定输入内容是否包含 SQL 注入关键字。
input
:待检测内容,支持任意类型(将通过.toString()
转为字符串)。- 返回值:如果匹配成功(命中黑名单关键词),返回 true;否则返回 false。
示例:
SQLInjection().containsInjection("SELECT * FROM users");
返回 true
推荐搭配用户输入表单的 validator 一起使用:
validator: (value) => SQLInjection().containsInjection(value)
? "检测到非法关键词,请勿尝试注入"
: null;
Implementation
bool containsInjection(dynamic input) {
final content = input.toString().toLowerCase();
return _keywords.any((k) => content.contains(k));
}