tôi có một hình thức đăng nhập:cách chuyển hướng trang sang https bằng php?
<form method =POST action="/login.php">
...
</form>
tôi muốn trang login.php
để chuyển hướng đến sử dụng https
.
tôi không muốn gửi người dùng đến https://.../login.php
vì họ có thể thay đổi liên kết. nhưng tôi muốn làm một chuyển hướng về phía máy chủ trước khi tôi phân tích các dữ liệu mẫu đăng nhập và đăng nhập người sử dụng trong
tôi tìm thấy và ví dụ:.
if($_SERVER["HTTPS"] != "on") {
header("HTTP/1.1 301 Moved Permanently");
header("Location: "https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
exit();
}
nhưng tôi không có $_SERVER["HTTPS"]
nếu tôi var_dump($_SERVER);
tôi có $_SERVER['SERVER_PORT']
phù thủy là 80.
bất kỳ ý tưởng nào?
Cảm ơn
"tôi không muốn gửi cho người dùng ..." "tôi muốn làm một chuyển hướng "Cả hai đều không tương thích lẫn nhau. Bạn có muốn buộc người dùng sử dụng SSL không? Nếu vậy, bạn cần chuyển hướng (gửi) người dùng đến phiên bản HTTPS của biểu mẫu đăng nhập. –
'nhưng tôi không có' tất nhiên bạn sẽ không có nó khi bạn kết nối với thường xuyên 'HTTP'. Và cổng 80 nói như vậy. '$ _SERVER [" HTTPS "] = 'on';' khi bạn được kết nối thông qua HTTPS và cổng của bạn trong trường hợp đó sẽ là '443'. Bạn kịch bản đang làm điều đúng, nó kiểm tra xem kết nối hiện tại là HTTP và nếu nó không phải là - nó chuyển hướng đến phiên bản HTTPS. – Cheery
tôi có thể, nhưng có khả năng người dùng thay đổi liên kết thành HTTP. Tôi cần thực hiện kiểm tra trên trang login.php cho HTTPS – Patrioticcow