containsInjection method

bool containsInjection(
  1. dynamic input
)

判断指定输入内容是否包含 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));
}