2009-09-16 37 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