2009-09-16 90 views
1

我有我的形式完美地处理工作,但重命名表单动作HTTPS表单验证未通过会话变量 - PHP

<form action="https://www.example.com/validate.php" method="post"> 

与它停止工作的SSL证书后工作。似乎SESSION变量不再正常传递...

有什么我应该知道的有关https和窗体? 如果我保持表单行为路径相对,它可以正常工作,但我的表单是否安全?

+0

表单行为路径必须是相对的吗? – chris 2009-09-16 00:41:25

+0

@相对或不是问题:它们可以是相对的,它们可以是绝对的。如果您从HTTP发布到HTTPS,则需要输入绝对地址,更改协议。 – mauris 2009-09-16 02:22:14

+0

但从https发布到https可以是相对的? – chris 2009-09-16 02:38:09

回答

2
  1. 饼干调试是否发送到HTTP 网站也被发送到HTTPS网站或 没有。
  2. 您的HTTPS服务器是否可以在第一个地方加载 ?也许 配置不对或 的东西。
  3. 如果它是相对路径,它将不会被保护,因为您的页面不安全。
  4. 您可以尝试使用此表单在安全HTTPS服务器上加载页面,并执行回发。 (即安全 - >安全)

接下来,您可能希望将非安全页面的会话ID传递到安全页面。

例如在窗体页:

<form action="https://www.example.com/validate.php" method="post"> 
<input type="hidden" value="<?php echo session_id(); ?>" name="sid" /> 

在回传页面:

session_id($_POST['sid']); 

,你应该能够重新连接到会议。希望能帮助到你。

+0

聪明会尝试 – chris 2009-09-16 00:54:02

+0

+1通过会话ID是一个好方法。 – 2009-09-16 00:55:02

+0

哦,我从来没有尝试过,可能会或可能不会工作。但一切顺利。请让我知道会发生什么=) – mauris 2009-09-16 02:21:22