1

我的公司安全政策规定我不能关闭ValidateRequest表单网站的属性。

我从该站点收到有关潜在危险Request.Form输入的错误报告。

我可以从所有错误中看出,危险正在从地址字段中的外来字符(例如德语、带有变音符号的挪威字符)中发现。

我对这些字符如何变成 html 编码有点困惑,因为危险的字符组合就像å哪个是ö字符。

从客户端检测到潜在危险的 Request.Form 值(ctl00$ContentPlaceHolder1$tbxDeliveryAddress="...last As B & #229;smosjyen 4 Mo...")

显然这不是恶意的,我需要允许客户输入他们的地址,包括变音符号。我想知道客户是否在不知不觉中通过复制和粘贴来做到这一点,所以我用两个标签和一个文本框进行了实验,一个标签编码了一些带有变音符号的文本,另一个标签只是打印了变音符号(我检查了呈现页面上的 html 源代码,这是正常的)然后我将每个标签依次复制并粘贴到一个文本框中并提交了表单,但都没有出错。

所以我很困惑这个输入是如何来自客户的。我发现很难相信他们å在输入地址时会实际输入文本框。由于我真的不知道外国键盘是如何工作的,任何人都可以对此有所了解吗?

我怎样才能阻止这个非恶意文本被 .net 中的这个功能捕获而不转出ValidateRequest属性?对于试图无辜地输入他们的送货地址的客户来说,这真的很痛苦。

编辑

我注意到,在错误消息中,文本实际上来自一个多行文本框字段,该字段生成 textarea html 控件。我想知道这个特定控件是否使用 html 编码文本呈现内容?我这样说是因为最终用户实际上无法直接在此字段中进行编辑,它会自动填充,并弹出一个模式来编辑各个行上的地址。多行文本框是否会自动对其内容进行 html 编码?

4

0 回答 0