繁体   English   中英

在隐藏字段中发送xml数据。安全吗?

[英]Sending xml data in hidden field.Is it safe?

我有一个HTML表单:

<form>
<input type="hidden" id="hiddenField"/>
...Other form fields
</form>

在这种形式下,我想使用xml数据设置一个隐藏字段。 任何人都可以建议直接使用xml数据设置隐藏字段是否可以。 即在我的javascript函数中,可以安全地直接使用xml设置隐藏字段,例如: $(#hiddenFiled).val(xml); 并在我的Java Servlet中获取xml?请提出建议。

不,没有编码就不能保留xml您可以选择

var stringValue=escape(xml); 
var xmlValue= unescape (stringValue)

在JavaScript中

尽管这些方法在较新的版本中已被弃用,所以您可以在另一个库中找到它,例如http://underscorejs.org/#escape UnderScoreJs

如果XML包含Andy敏感信息,也不要将其保留在隐藏字段中。

隐藏的表单字段不可用于会话跟踪。

我们有两种会话跟踪机制,分别是Cookie和URL重写,这是针对在浏览器中未启用Cookie的用户的最新机制,只有当您拥有自己的会话跟踪器时,我才能理解在隐藏字段中发送会话ID并且不使用服务器容器(HttpSession和所有)中已经使用的容器,但是为什么要重新发明轮子呢?

隐藏的字段用于在页面之间传递信息,有时我使用a并且我显然不希望该信息显示给用户

没有javascript或浏览器插件就无法发布XML。 您不应直接将其作为表单参数发送。 有关更多信息,请参见此答案:

使用可以在发送给服务器时encode它们encode的库,并在服务器端对其进行decode

Underscore.js提供了这样的功能。 请参阅文档

escape_.escape(字符串)
转义用于插入HTML的字符串,并替换&,<,>,“,”和'字符。

 _.escape('Curly, Larry & Moe'); => "Curly, Larry &amp; Moe" 

unescape_.unescape(字符串)
与转义相反,将&,<,>,“,”和'替换为未转义的对应内容。

 _.unescape('Curly, Larry &amp; Moe'); => "Curly, Larry & Moe" 

但是,请记住,通常浏览器会限制您可以通过GET请求发送的数据量(大约255个字节)。 因此,即使在发送编码的XML时,使用POST而不是GET始终是一个不错的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM