Come forzare HTTPS per alcune parti di un sito, ad es. una pagina di accesso o una pagina di registrazione e utilizzare HTTP per il resto del sito?CakePHP - SSL selettivo
risposta
Ho fatto la cosa esatta con CodeIgniter. Non conosco completamente CakePHP, ma sono sicuro che il processo sia simile.
- Ho impostato apache per puntare il traffico SSL e non SSL alla stessa directory.
- Quindi ho creato un array nella configurazione che elencava i controller necessari per SSL (registro, accesso, ecc.)
- Quindi ha creato una funzione in un helper caricato automaticamente che ha verificato se il controller corrente si trovava in quell'array e quindi ripristinerebbe
base_url
conhttps://
anzichéhttp://
. Se il controller non era nell'array, forza lobase_url
ahttp://
.
Ha funzionato perfettamente per me. Fammi sapere se gli esempi di codice dal mio progetto CodeIgniter sarebbero utili.
Si può caricare il componente RequestHandler e utilizzare la funzione isSsl() per determinare se si proviene da un HTTP o HTTPS, se! IsSsl quindi reindirizzare ad una pagina https :) altro che fare qualsiasi altra cosa vuoi
Informazioni sul libro della funzione isSsl here
Una soluzione migliore potrebbe fare questo con mod_rewrite con .htaccess per alcuni URL di e lasciando il codice da esso tutti insieme.
È possibile impostare le regole di riscrittura solo per determinati URL.
Ecco un vantaggio su come farlo per un intero sito:
http://www.besthostratings.com/articles/force-ssl-htaccess.html
Il mio preferito convertire in https metodo di forzatura è quello di mettere questa come la prima cosa nello script php. Funziona in Joomla e potrebbe funzionare molto bene in CakePHP.
if($_SERVER['SERVER_PORT'] == 80) {
header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.basename($_SERVER['PHP_SELF']));
die();
}
Questo snippet forza l'https su qualsiasi pagina visualizzata. Se si desidera isolare le pagine certian, è sufficiente inserire alcune condizioni in base alle informazioni nella variabile "$ _SERVER ['PHP_SELF']".
In caso contrario, modificare il file .htaccess, supponendo che il vostro ospite vi permette di accedere a questo:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} somefolder
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L]
- 1. Funzione di inoltro selettivo
- 2. MongoDB aggregato progetto selettivo
- 3. Applicazione CakePHP/CakePHP 2.4
- 4. Come decorare in modo selettivo elementi RecyclerView
- 5. Rails Sovrascrivi Salva per eseguire l'aggiornamento selettivo
- 6. Caricamento selettivo eager in Entity Framework
- 7. Accesso alla sessione cakephp (auth) dall'esterno cakephp
- 8. Impossibile trovare il trasporto socket "ssl", CakePHP invio e-mail dalla shell
- 9. CakePHP 2.0: frustrazione di CakeEmail
- 10. cakePHP security
- 11. Cakephp Security
- 12. Cakephp JsonView
- 13. SSL Cheap vs SSL costoso
- 14. CakePHP Cookie/Problemi di sessione
- 15. Configurazione certificato socket SSL SSL Golang
- 16. Stesso server, sia SSL che non SSL
- 17. convalida del certificato SSL ssl in subversion
- 18. Uso selettivo della variabile "testo" nei caratteri di google chiamate
- 19. esegue in modo selettivo l'attività nel flusso di controllo ssis
- 20. RabbitMQ-- recupero selettivo dei messaggi da una coda
- 21. selettivo di rendering proprietà dei componenti opzionali a Reagire JSX
- 22. Si può usare XmlAttributes per XmlIgnore in modo selettivo?
- 23. utilizzo selettivo di filtro CSRF di Primavera di sicurezza
- 24. Sovrascrivi Vs in modo selettivo Caricamento CSS con Modernizer (YepNope)
- 25. Come convalidare in modo selettivo un attributo di annotazione dati?
- 26. Come posso sfuggire in modo selettivo percentuale (%) nelle stringhe Python?
- 27. Unendo in modo selettivo * parti * di un file con git?
- 28. .htaccess per cakephp
- 29. Sintassi UNION in Cakephp
- 30. Cakephp, ordinamento tabelle associate
possibile duplicato del [selettivamente Abilitazione di SSL per determinate azioni in CakePHP] (http://stackoverflow.com/questions/751.338/selettivamente abilitazione-ssl-per-determinate-actions-in-cakephp) – sarnold