我在我的asp.net项目中的一些webforms中使用FreeTextBox HTML编辑器.如果我没有将ValidateRequest属性设置为false,我会收到此错误:
从客户端检测到潜在危险的Request.Form值
但是在管理文件夹中没问题,因为只有授权用户才有权使用它.但是公共页面怎么样,每个用户都可以访问的部分留下评论(使用FreeTextBox收集用户评论)?对XSS攻击没有风险吗?如果答案不是,那么ValidateRequest属性是什么?
我想知道其他人是否像我一样遇到FreeTextBox下面的问题:
我的aspx页面中有一个FreeTextBox.
以及将FreeTextBox(FTB)中的文本写入数据库的代码:
protected void btnWrite_Click(object sender, EventArgs e)
{
if(FTB.Text!="")
{
...// insert FTB.Text into DataBase
FTB.Text="";//clear the text in FTB
}
else LabelError.Text="Write something!";
}
Run Code Online (Sandbox Code Playgroud)
当我做3个步骤时,我遇到了问题:
第一次,我让FTB empty- >点击按钮Write- > LabelError显示:Write something!---->代码工作正常
第二次:我键入:Hello World在FTB- >单击按钮Write- >将FTB.Text's content其插入到DataBase中并FTB.Text清除,然后再次使用空页面加载FreeTextBox- >代码也正常工作
FTB空--->点击按钮写 - >代码跳转到if命令,FTB.Text's content插入DataBase,我检查数据库,新记录插入空值--->代码工作原理错误.尝试在第3个选项中进行调试:
FTB.Text="";
Run Code Online (Sandbox Code Playgroud)
我真的不知道为什么即使FTB.Text ="",代码仍然跳入if命令并将FTB.Text =""插入数据库.
我想让大家知道的重要事情是:代码在first time(FreeTextBox为空)中工作正常,但它在3rd …