我是一名PHP开发人员,试图解决ASP / ASP.net(.aspx)中的问题。我们有一个非常古老的应用程序,它有许多安全问题(在多个页面上,到处都是,大乱)。
为了解决这个问题,我想在每个页面的顶部添加一些代码,以便在应用程序处理它之前逃避任何POST / GET请求。
如果是PHP,我会预先添加一个PHP文件(使用.htaccess - auto_preppend)并基本上做:
foreach($_POST as $myval => $anything)
{
$_POST[$myval] = htmlspecialchars($_POST[$myval]);
.. other escaping ..
}
ASP中有这样的东西吗?只是想在传递给那些没有人想要触摸的代码之前逃避任何用户输入:(
答案 0 :(得分:3)
这是ASP还是ASP.NET?完全不同的野兽。如果您使用的是.NET,则可以使用以下内容:
VB中的
For Each item In Request.Form.Keys
newVal = Server.HtmlEncode(Request.Form(item))
Next
或C#
foreach (var item in Request.Form.Keys) {
var newVal = Server.HtmlEncode(Request.Form(item));
}
答案 1 :(得分:0)
从个人控制的角度来看,这可能有所帮助:Prevent special characters in a TextBox
如果您想保护整个表单免受脚本注入攻击,请查看RequestValidation:http://www.asp.net/learn/whitepapers/request-validation