解决思路:
1、获得输入的值
2、定义非法数组
3、遍历这个数组
4、判断这个数组是否包含这些字
理论上前台校验即可,但是一般重要的这种校验,最好是前后台均做判断,防止有人拼接url进行恶意查询!
前台校验:
var ban_str=["中","国","中国","有","限","有限","责","任","责任","公","司","公司","集","团","集团","北","北京","京","股","份","股份","投","资","投资","管","理","管理","L","T","D","LT","TD","LD","LTD"];
function relative_search() {
var send_falg=true;
var mainBody=$("input[name='mainBody']:checked").val();
var relationType=$("input[name='relationType']:checked").val();
var relatedPartyName=$("input[name=relatedPartyName]").val();
for(var i in ban_str){
if(ban_str[i]==relatedPartyName.toUpperCase()){
send_falg=false;
}
}
//如果值不为空或者不为敏感关键词则发送ajax进行查询
if(send_falg && !chkblk(relatedPartyName)){
//ajax请求查询
。。。
}
//判断不为空或者不为空串
function chkblk(ele) {
//去掉所有空格后再判断是否为空
if (ele.replace(/(^\s*)|(\s*$)/g, "")==""){
return true;
}
}
后台验证:
String relatedPerson = request.getParameter("relatedPartyName");
String strs[] ={"有","限","责","任","公","司","集","团","北","京","股","份","投","资","管","理","L","T","D"};
for (String str:strs){
if(relatedPerson.indexOf(str)!=-1){
return ResultPageData.failure("不允许查询有限、责任、公司、集团、北京、股份、投资、管理、LTD等关键字!").toJson();
}
}