jquery過濾特殊字符',防sql注入的實現(xiàn)方法
今天寫的代碼給項目經(jīng)理看了下,因為之前沒有考慮sql注入的問題,
然后在他測試我的code的時候,打了一個“'”,然后我的程序就掛了!
于是乎,我在網(wǎng)上找到了一個驗證并過濾文本框的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+"已經(jīng)存在!換~~");
}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注入的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery根據(jù)緯度經(jīng)度查看地圖處理程序
jQuery根據(jù)緯度經(jīng)度查看地圖處理程序如下在這里要注意js的引入順序,有需求的朋友可以參考下哈希望對你有所幫助2013-05-05
jquery插件lazyload.js延遲加載圖片的使用方法
lazyload.js是一個基于JQuery的插件,可以用來緩沖加載圖片。下面介紹這個插件的使用方法2014-02-02
30個讓人興奮的視差滾動(Parallax Scrolling)效果網(wǎng)站
視差滾動(Parallax Scrolling)是指讓多層背景以不同的速度移動,形成立體的運動效果,帶來非常出色的視覺體驗。作為今年網(wǎng)頁設計的熱點趨勢,越來越多的網(wǎng)站應用了這項技術(shù)。今天這篇文章就與大家分享30個視差滾動效果的網(wǎng)頁設計作品,一起欣賞(以拖動滾動條方式瀏覽效果更佳)2012-03-03
jQuery+ajax實現(xiàn)滾動到頁面底部自動加載圖文列表效果(類似圖片懶加載)
這篇文章主要介紹了jQuery+ajax實現(xiàn)滾動到頁面底部自動加載圖文列表效果,模擬圖片懶加載功能,涉及jQuery的ajax與asp.net交互動態(tài)顯示頁面內(nèi)容的相關(guān)技巧,需要的朋友可以參考下2016-06-06

