我有一個登錄表單:如何在PHP中將頁面重定向到https?
<form method =POST action="/login.php">
...
</form>
我想login.php
頁面重定向到使用https
。
我不想將用戶發送到https://.../login.php
,因爲他們可能會更改鏈接。但我想這樣做在服務器端重定向我解析登錄表單數據和用戶登錄之前
我發現,例如:
if($_SERVER["HTTPS"] != "on") {
header("HTTP/1.1 301 Moved Permanently");
header("Location: "https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
exit();
}
,但如果我沒有$_SERVER["HTTPS"]
我var_dump($_SERVER);
我確實有$_SERVER['SERVER_PORT']
女巫是80
什麼想法?
感謝
「我不想向用戶發送......」「我希望做一個重定向「這兩者相互矛盾。你想強制用戶使用SSL嗎?如果是這樣,您需要將用戶重定向(發送)到登錄表單的HTTPS版本。 – 2012-02-03 20:53:49
'但我沒有'當然,當你連接普通的'HTTP'時你不會擁有它。端口80也是如此。 '$ _SERVER [「HTTPS」] ='on';'當你通過HTTPS連接時,你的端口就是'443'。你的腳本正在做正確的事情,它檢查當前連接是否是HTTP,如果不是,它會重定向到HTTPS版本。 – Cheery 2012-02-03 20:54:45
我可以,但用戶有可能將鏈接更改爲HTTP。我需要檢查HTTPS的login.php頁面 – Patrioticcow 2012-02-03 20:55:16