![]() |
1
16
安全是原因。 最明显/最常见的原因是 Cross-Site-Scripting (XSS)。这是您可能在站点中看到的安全问题的根本原因。
另外,如下面的注释所示,您的站点布局也可能被搞砸。 你需要 Microsoft Anti-Cross Site Scripting Library 更多资源 |
![]() |
2
3
你犯了一些错误。
如果您接受来自富文本编辑器的HTML格式文本,则
不能
呼叫
但是,您仍然需要防止XSS。 换句话说,如果用户输入以下HTML:
你想保留
您应该通过一个严格的XML解析器运行用户的HTML,并在保存内容时维护一个严格的标记和属性的白名单。 |
![]() |
3
3
我觉得你把“编码”和“擦洗”混淆了。 如果你想接受 文本 从用户那里,你需要 编码 在将其呈现为HTML之前,它是HTML。这样,文本
HTML编码为
在HTML浏览器中呈现为:
如果你想接受 HTML 对于一个用户(在本例中听起来像您这样),它已经是HTML格式,所以您不想再次调用HTML.Encode。但是,您可能希望清除它以删除某些不允许的标记(如脚本块)。 |
![]() |
4
2
安全是主要原因。 |
![]() |
5
2
用户不仅可以输入javascript代码或其他一些淘气的东西,还需要使用HTML编码来在页面上显示某些字符。您不希望您的页面中断,因为您的数据库包含:“nice page:->”。 此外,如果要将代码输入数据库,请确保对数据库的输入进行“sanatize”。 |
![]() |
6
1
是的,如果有人将恶意字符串输入到富文本编辑器中,它将阻止JavaScript执行。但是,纯文本javascript并不是您唯一关心的问题,例如,这是一个XSS:
在这里查看一系列不同的XSS选项; http://ha.ckers.org/xss.html |
![]() |
7
1
作为旁白……MVC2实现了新功能,因此您不再需要调用html.encode 如果更改视图语法 到 MVC将自动为您编码。它使事情变得更容易/更快。同样,仅MVC2 |
![]() |
8
0
另一个原因是一些用户可以输入一些结束标记
|
![]() |
Community wiki · 构造和验证Gigya签名 1 年前 |
![]() |
Adam · Django+iis请求。身体问题 6 年前 |
![]() |
IMAN4K · 将ASCII字符串转换为7位GSM编码方案 6 年前 |
![]() |
iphonic · NSString解码 6 年前 |
![]() |
a4w · 使用base64编码大文件 6 年前 |
![]() |
Stanleyrr · 测试集的反向差分编码是如何工作的? 6 年前 |
![]() |
Girish · php导入csv特殊字符问题 6 年前 |
![]() |
jpn · 如何将加密的256位转换为20位表示 6 年前 |