表单发布数据显示在post标头元素中

时间:2011-07-05 13:20:31

标签: jsf

我有表格,我输入所有数据和提交按钮。我正在发送处理数据。但我注意到我可以使用Firefox的Tamper Data Add-on编辑我的帖子数据,我认为它是一个Hack。那怎么能避免这个问题呢?我读过的是JSF使用默认POST发送数据,如果是,那么为什么它在Header中显示数据?他们可以通过哪种方式控制和编码我的帖子数据?

1 个答案:

答案 0 :(得分:1)

这就是HTTP的工作原理。客户端如何能够将数据发送到服务器?请注意,您不应将请求标头与请求正文混淆。 POST数据出现在请求正文中,而不是请求标题。

但你为什么要避免这种情况?我能想到的唯一合理的原因是你在客户端(使用例如JS)而不是在服务器端验证输入数据。你不应该这样做。您应该始终在服务器端验证。你永远不应该相信用户输入。尽可能利用JSF提供的验证器,例如required="true"<f:validateLongRange>javax.faces.validator.Validator等。

只要您在服务器端正确验证,客户端就可以使用HTTP请求执行任何操作,您无需担心安全性(即,当您信任JSF和您自己的代码时)。 JSF已经建立了针对XSS和CSRF的预防措施(在某种程度上,分别在2.1和2.2中得到了改进)。

如果您的实际关注实际上是中间人攻击,那么您应该看看SSL(HTTPS)。