asp.net - HTML 编码服务器端与客户端

标签 asp.net javascript html-encode

我想在我的页面上启用评论发布,所以我需要在发送帖子并将其插入数据库之前执行一些 html 编码。

理想的一面是什么?
服务器端(我使用 asp.net)还是客户端(javascript)?

最佳答案

如果您的意思是清理用户输入,唯一您可以安全地做到这一点的地方是服务器端。您无法确定客户端是否已完成任何操作,绕过客户端代码太容易了。

这就像数据验证:在客户端进行数据验证(例如,确保表单的关键字段填写了有效值)很好,因为即时反馈可以带来良好的用户体验,但这样做是不能替代在服务器上执行此操作,因为绕过客户端验证非常容易。

但是通过净化输入,您甚至不想尝试在客户端进行;假设它未经过清理并在服务器上对其进行清理。

在 ASP.Net 中,如果您要清理的输入是稍后要在 HTML 页面中显示的字符串,并且您希望确保它不包含自己的 HTML 标记,则可以使用 HttpServerUtility.HtmlEncode 对字符串进行编码(基本上,将 < 转换为 &lt; 等)。

关于asp.net - HTML 编码服务器端与客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3036711/

相关文章:

JAVASCRIPT 设置 utterscroll 的步骤?

javascript - 框未在 Canvas 上显示 Javascript

asp.net-mvc - MVC 输入中的 Html 编码

security - SQL 注入(inject)或 Server.HTMLEncode 或两者兼而有之?经典 ASP

jquery - "Please Wait"消息使用 jQuery 或 AJAX?

c# - JavaScript 不会从 asp.net 中的 C# 代码进行回发

asp.net - 什么 HTML 容器用于 ASP 表单而不是 HTML 表

c# - session 变量不存储值

javascript - 如何跟踪使用 Zepto 制作动画的图像的位置?

asp.net - 如何阻止 gridview 列自动编码 html 实体