2009-09-16 5 views
1

나는 내 양식 프로세스가 완벽하게 작동하지만 작동이 중지 SSL 인증서 작업을위한HTTPS 폼 검증되지 통과 세션 변수 - PHP

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

에 양식 액션 이름을 바꾼 후했다. 세션 변수가 더 이상 제대로 전달되지 않는 것처럼 보입니다 ...

https 및 양식에 대해 알아야 할 것이 있습니까? 양식 작업 경로를 상대적으로 유지하면 정상적으로 작동하지만 양식이 안전합니까? 쿠키 사이트를하여 HTTP 보내 디버그 여부를

+0

양식을 작성하려면 작업 경로가 상대 경로 여야합니까? – chris

+0

@ relative 또는 question : 그들은 상대적인 수 있습니다, 그들은 절대 수 있습니다. HTTP에서 HTTPS로 게시하는 경우 절대 주소를 입력하고 프로토콜을 변경해야합니다. – mauris

+0

하지만 https에서 https로 게시하는 것은 상대적 일 수 있습니까? – chris

답변

2
  1. 은 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

+0

+1 세션 ID를 전달하는 것은 좋은 방법입니다. –

+0

오, 나는 그 전에 결코 시도하지 않았을 수도, 작동하지 않을 수도있다. 그러나 모든 최고. 나에게 어떤 일이 일어 났는지 알려주 라. =) – mauris