Ho un form di login:come reindirizzare la pagina a https in php?
<form method =POST action="/login.php">
...
</form>
Vorrei pagina login.php
per reindirizzare ad usare https
.
Non voglio inviare l'utente a https://.../login.php
perché potrebbero cambiare il collegamento. ma voglio fare un redirect lato server prima di analizzare i dati del modulo di login e accedere l'utente in
ho trovato e l'esempio:.
if($_SERVER["HTTPS"] != "on") {
header("HTTP/1.1 301 Moved Permanently");
header("Location: "https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
exit();
}
ma non ho $_SERVER["HTTPS"]
se mi var_dump($_SERVER);
io ho $_SERVER['SERVER_PORT']
strega è 80.
tutte le idee?
Grazie
"Io non voglio inviare l'utente ..." "Io voglio fare un redirect "I due sono reciprocamente incompatibili. Vuoi forzare l'utente a usare SSL? In tal caso, è necessario reindirizzare (inviare) l'utente alla versione HTTPS del modulo di accesso. –
'ma non ho 'ovviamente non lo avrete quando ci si connette con il normale' HTTP'. E la porta 80 dice lo stesso. '$ _SERVER [" HTTPS "] = 'on';' quando sei connesso tramite HTTPS e la tua porta in quel caso sarebbe '443'. Lo script sta facendo la cosa giusta, controlla se la connessione corrente è HTTP e, in caso contrario, reindirizza alla versione HTTPS. – Cheery
potrei, ma c'è la possibilità per l'utente di cambiare il link a HTTP. Devo fare un controllo sulla pagina login.php per HTTPS – Patrioticcow