如何验证http表单数据

时间:2013-02-13 15:52:38

标签: javascript asp.net html asp.net-mvc webserver

假设我的网页test.html正在将表单数据发送到同一个域的网页callback.html,如何验证表单数据是否由test.html发送,而不是由其他任何人发送?将test.html视为callback.html的可信来源。

<form action="callback.html" methos="post">
<input type="hidden" id="abc" value="User is not authenticated"/>
</form>

1 个答案:

答案 0 :(得分:7)

确保POST来自受信任来源的唯一安全方法是确保该交易涉及只有您的网站知道的某些信息。有不同的方法可以做到这一点,但一个简单的方法是使用会话cookie的值作为表单字段值。然后,您的服务器将拒绝缺少该参数的POST事务。

如果您的交易不安全(https),那么无论如何都没有多少意义。

编辑 - 如果你的POST事务是用XHR启动的话,我会提到另一种选择,就是在请求中添加一个特殊的“X-Something”标题。