所以我有一个textarea,并且我想防止某人在输入过程中在其中输入xss数据。在提交之前,我需要这样做,因为我的网站是ASP.NET,并且框架会立即引发异常 “从客户端检测到潜在的Request.Form值。”
如果它被发布了,请允许我在发布期间对其进行清理。所以我需要在发布之前通过JavaScript进行操作。
我尝试过这种做法,认为可能会拒绝按键,但是它似乎不起作用,返回false并没有做任何事情,例如对于提交。
function CheckChar(event) {
var x = event.which || event.keyCode;
if (x == 60 || x == 62)
return false;
else
return true;
}
然后从HTML中执行以下操作:
<asp:TextBox id="SMSMessage" TextMode="multiline" onkeypress="CheckChar(event)" Columns="50" Rows="5" runat="server" />
答案 0 :(得分:0)
使用return
function CheckChar(event) {
var x = event.which || event.keyCode;
console.log(x)
if (x == 60 || x == 62)
return false;
else
return true;
}
<!DOCTYPE html>
<html>
<body>
<textarea name="SMSMessage" rows="5" cols="50" id="SMSMessage" onkeypress="return CheckChar(event)"></textarea>
</body>
</html>
答案 1 :(得分:0)
我最终使用了另一种方法,因为我需要验证所有数据,以防万一有人在文本区域中粘贴文本。
<asp:TextBox id="SMSMessage" TextMode="multiline" onkeyup="validate(this)" Columns="50" Rows="5" runat="server" />
使用此javascript:
function validate(o) {
if (o.value.indexOf('<') > -1)
o.value = o.value.replace('<', '');
if (o.value.indexOf('>') > -1)
o.value = o.value.replace('>', '');
}