您的位置:首页 > Web前端 > JQuery

jquery过滤特殊字符',防sql注入的实现方法

2016-08-17 11:29 661 查看

今天写的代码给项目经理看了下,因为之前没有考虑sql注入的问题, 然后在他测试我的code的时候,打了一个“'”,然后我的程序就挂了!

于是乎,我在网上找到了一个验证并过滤文本框的jquery!

先上图:

PS:这里用@#测试,因为'太小了,都看不清楚了!

具体的jquery代码:

<script type="text/javascript" language="javascript">
$(document).ready(function() {
//返回
$("#btnBack").click(function() {
location.href = "${basePath}/user/user_List.jspx?action=peek";
});
//非空验证
$("#btnSubmit").click(function(){
if($("#name").val() == ""){
alert("姓名必填!");
$("#name").focus();
return false;
}
//js验证 `~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()――|{}【】‘;:”“'。,、?
var pattern = new RegExp("[~'!@#$%^&*()-+_=:]");
if($("#name").val() != "" && $("#name").val() != null){
if(pattern.test($("#name").val())){
alert("非法字符!");
$("#name").attr("value","");
$("#name").focus();
return false;
}
}
if($("#enterDate").val() == ""){
alert("入职时间必填!");
return false;
}
});
//是否存在用户名
var existName = '${action_msg}';
if(existName != "" && existName != null){
$("#span_").attr("style","display:block");
$("#span_").attr("style","color:red");
$("#span_").html("用户名"+existName+"已经存在!换~~");
}else{
$("#span_").attr("style","display:none");
}
});
</script>

这是以弹框的形式!

$(document).ready(function(){
//过滤非法字符
function stripscript(s){
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()――|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;
}
//批量删除
$("#btnDel").click(function() {
if(confirm("确认删除?")){
var lstInt = new Array();
var index = 0;
$("input[name='checkbox']:checked").each(function() {
lstInt[index] = $(this).attr("value");
index++;
});
if (lstInt.length <= 0) {
alert("你还没有选择!");
return;
}
if (lstInt != null&& lstInt.length > 0) {
location.href = '${basePath}/user/delUser.jspx?idLst=' + lstInt;
}
}
});
// 全选
$("#allCheck").click(function() {
$("#notAllCheck").attr("checked", "");
$("input[name='checkbox']").not("input:checked").each(function() {
$(this).attr("checked", "checked");
});
});
// 全不选
$("#notAllCheck").click(function() {
$("#allCheck").attr("checked", "");
$("input[name='checkbox']:checked").each(function() {
$(this).attr("checked", "");
});
});
//查询
$("#btnSelect").click(function(){
if($("#inputName").val() == "" || $("#inputName").val() == "请输入员工姓名!"){
alert("请输入员工姓名![支持模糊匹配]");
$("#inputName").focus();
}else if($("#inputName").val() == "'" ){
alert("输入非法字符!");
$("#inputName").focus();
$("#inputName").attr("value","");
}else{
var name = $("#inputName").val();
location.href="user_List.jspx?inputName="+stripscript(name);
}
});
//友情提示
$("#inputName").blur(function(){
if($("#inputName").val() == ""){
$(this).attr("value","请输入员工姓名!");
}
$(this).css("color","#D6D6FF");
});
$("#inputName").focus(function(){
if($("#inputName").val() == "请输入员工姓名!"){
$(this).attr("value","");
}
$(this).css("color","#6699FF");
});
var name = '${name}';
if(name != '' && name != null){
$("#inputName").attr("value",name);
}
$("#btnBackIndex").click(function(){
location.href="user_List.jspx";
});
});

这是用空格来替换!

以上这篇jquery过滤特殊字符',防sql注入的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery 过滤 特殊 字符