我有一个4步的表格流程。
Form.php发布到validate.php,这取决于验证是否重定向回form.php或review.php。最后一步是complete.php
每个页面都使用https调用,但validate.php除外,后者是创建会话变量的地方,然后重定向回调用HTTPS的form.php或review.php。
浏览器上的锁永远不会消失,但是有人告诉我,如果您发布到一个相对路径(没有显式调用https ),表单是不安全的。
这是真的吗?我安全吗?是否有一种方法来检查和或证明表单过程是否安全?
有人告诉我这是安全的,但我只是想确定,所以我没有责任。
我在表单post上使用相对路径,因为在使用HTTPS显式调用页面时不会创建会话变量。如果有人对此有潜在的解决方案,那也是很好的。
发布于 2009-09-16 12:34:03
即使没有显式地发布到例如https://your-server.com/validate.php,但实际上您使用的是相对链接(例如action="validate.php"),这意味着它仍然在使用HTTPS。
简短的回答--协议在相对链接上不会改变。因此,如果form.php不是HTTPS,表单变量将不会通过相对链接安全地提交。
发布于 2009-09-16 12:35:12
浏览器上的锁永远不会消失,但是有人告诉我,如果您发布到一个相对路径(没有显式调用https ),表单是不安全的。
那是垃圾。相对URI是相对URI,不会导致协议更改。
如果页面是通过HTTPS请求的,并且URI是相对的,那么下一个请求也将使用HTTPS。
我在表单post上使用相对路径,因为在使用HTTPS显式调用页面时没有创建会话变量。
你一定是在误诊这个问题。浏览器在内部将相对URI解析为绝对URI。发送的数据没有差别。
发布于 2009-09-16 12:33:49
使用相对路径是可以的。要确保您可以使用网络数据包查看器应用程序查看内容是否已加密。但是,有一点与您的代码有关,您是否将验证过的数据存储在会话变量中?如果是这样的话,您确定除了root用户和php之外,没有人可以访问会话值。我建议将经过验证的值存储在数据库中,以防始终可以使用crontab删除过时的记录。
https://stackoverflow.com/questions/1432647
复制相似问题