【发布时间】:2010-10-12 18:47:53
【问题描述】:
我正在为 jQuery 使用 .alphanumeric 插件,当用户直接在文本框中输入内容时,它确实符合我的预期。但是,如果用户将一个值复制并粘贴到文本框中,那么所有的赌注都将被取消。
$("#<%= txtNumber.ClientID %>").alphanumeric({allow:"-"});
我当然可以:
$(document).ready(function() {
$("#<%= txtNumber.ClientID %>").blur(function() {
$("#<%= txtNumber.ClientID %>").val(
RemoveInvalidCharacters(
$("#<%= txtNumber.ClientID %>").val()
)
);
});
});
//FUNCTION REMOVES ANY ; IN TEXT TO PREVENT SQL INJECTION
function RemoveInvalidCharacters(text) {
return text.replace(';', '');
}
但是...我宁愿不必用 .blur() 函数进一步整理我的代码。有没有其他方法可以解决这个问题?
【问题讨论】:
-
您不应依赖客户端脚本来做任何事情,而应为用户提供更好的体验。服务器端验证和参数化查询是确保数据干净且数据库受到保护所需要的。
-
我在后端使用 LINQ to SQL,它已经为我解决了这个问题......只是试图让前端与后端正在做的事情相匹配......
标签: asp.net jquery linq-to-sql sql-injection validation