/**
* 提供一个方法,判断 SQL WHERE 从句中参数是否包含 SQL 关键字,用于防止 SQL 注入攻击。
*
* @param p_str
* 一个字符串 要检查的值。
*/
function isSqlInjection(p_str) {
var regex = /(\sand\s)|(\sor\s)|(\slike\s)|(select\s)|(insert\s)|(delete\s)|(update\s[\s\S].*\sset)|(create\s)|(\stable)|(\sexec)|(declare)|(\struncate)|(\smaster)|(\sbackup)|(\smid)|(\scount)|(\sadd\s)|(\salter\s)|(\sdrop\s)|(\sfrom\s)|(\struncate\s)|(\sunion\s)|(\sjoin\s)|(')/;
var result = [];
var successful = !regex.test(p_str);
var matches = p_str.match(regex);
var hint = p_str;
if (matches && matches[0]) {
hint = matches[0];
}
return {
successful : successful,
hint : hint
};
}