防止URL攻击中的Javascript(asp.net)

防止URL攻击中的Javascript(asp.net),asp.net,url-rewriting,xss,Asp.net,Url Rewriting,Xss,我已经看到很多跨站点脚本攻击预防建议,但我不是在问表单输入验证。我如何防止类似的情况: javascript:(function(i,j){with(document){for(i=0;i<forms.length;++i){with(forms[i]){for(j=0;j<elements.length;++j){elements[j].disabled=false}}}}})() javascript:(函数(i,j){with(document){for(i=0;iNo)。无

我已经看到很多跨站点脚本攻击预防建议,但我不是在问表单输入验证。我如何防止类似的情况:

javascript:(function(i,j){with(document){for(i=0;i<forms.length;++i){with(forms[i]){for(j=0;j<elements.length;++j){elements[j].disabled=false}}}}})()

javascript:(函数(i,j){with(document){for(i=0;iNo)。无论如何,您不能这样做,因为它不会被发送到服务器


这只是用户自己在本地执行的JavaScript。它对您来说应该没有任何意义。系统的安全性永远不应该依赖客户端JavaScript,所有身份验证等都应该在服务器端完成。

不。无论如何,您不能这样做,因为它不会被发送到服务器


这只是用户自己在本地执行的JavaScript。它对您来说应该没有任何意义。您的系统的安全性永远不应该依赖客户端JavaScript,所有身份验证等都应该在服务器端完成。

关键是不要太担心客户端。服务器端是您必须防弹的地方。不要担心例如,假设仅仅因为您将表单输入命名为与数据库列名相同的名称,您就可以循环使用Request.form并持久化您获得的所有数据。您应该验证您是否只处理预期的输入,并验证它们的数据类型和范围,同时考虑用户对输入的权限改变给定的字段


这样,用户可以发送他们想要的任何内容,您只需要在服务器端处理和接受有效的数据。

关键是不要太担心客户端的数据。服务器端是您必须防弹的地方。不要假设,例如,仅仅因为您将表单输入命名为与数据库列名相同,您就可以p到Request.Form并持久化您获得的所有数据。您应该验证您是否只处理预期的输入,并验证它们的数据类型和范围,以及考虑用户更改给定字段的权限


这样,用户可以发送他们想要的任何内容,你只会处理和接受服务器端的有效数据。

是的,在仔细考虑之后,我得出了相同的结论。该网站没有进行回发,因此无法验证URL。是的,在仔细考虑之后,我得出了相同的结论。该网站没有进行回发所以没有办法验证URL。