我想在我的页面上启用评论发布,所以我需要在发送帖子并将其插入数据库之前执行一些 html 编码。
理想的一面是什么?
服务器端(我使用 asp.net)还是客户端(javascript)?
最佳答案
如果您的意思是清理用户输入,唯一您可以安全地做到这一点的地方是服务器端。您无法确定客户端是否已完成任何操作,绕过客户端代码太容易了。
这就像数据验证:在客户端进行数据验证(例如,确保表单的关键字段填写了有效值)很好,因为即时反馈可以带来良好的用户体验,但这样做是不能替代在服务器上执行此操作,因为绕过客户端验证非常容易。
但是通过净化输入,您甚至不想尝试在客户端进行;假设它未经过清理并在服务器上对其进行清理。
在 ASP.Net 中,如果您要清理的输入是稍后要在 HTML 页面中显示的字符串,并且您希望确保它不包含自己的 HTML 标记,则可以使用 HttpServerUtility.HtmlEncode
对字符串进行编码(基本上,将 <
转换为 <
等)。
关于asp.net - HTML 编码服务器端与客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3036711/