0

我已经发布了一个与此密切相关的问题。我与 P. Haacked 和 S. Hanselman 一起观看了 Mix10 视频。

我正在构建一个基于 AJAX 的站点,其输入表单是动态创建的。

完成此操作的所有代码都在脚本标记或 javascript 文件中完成。例如,以下 DOM 元素在页面加载时创建并被包装到视图中定义的现有 div 中:

$('#myform').append('); $('#myform').append('');

当我单击提交按钮时,我需要获取 id 为 'Name': $("#Name").val() 的输入表单的值,然后返回一个 Json 对象:{ Name: name };

对于这种情况,无法在客户端使用 Html.Encode() 或 AntiXss.HtmlEncode()。检查输入是否无害的唯一方法是在服务器端(通过服务层)完成。

这似乎是一个限制。当且仅当视图具有一组预定义的输入时,一切都很好。当需要即时创建它们时,情况就不同了。

小伙伴们有没有想过这种情况?

感谢您对此的关注。

比利时布鲁塞尔罗兰

4

1 回答 1

0

我不确定我是否完全理解您的问题,但必须指出客户端检查输入有害性无论如何都是毫无价值的 - 任何想要提交有害输入的人都会删除安全检查。这可能就是为什么没有客户端 API 来检查它们的原因。

因此,为什么要在客户端打扰它们,因为您必须在服务器端重新执行它们?关于客户端检查的唯一有用性质是在提交前警告用户他们意外包含有害代码。这真的是您的用户经常发生的事情吗?

于 2010-04-27T17:33:05.013 回答