CakePHP - Selektive SSL

9

Wie erzwinge ich HTTPS für bestimmte Teile einer Site, z. eine Anmeldeseite oder eine Registrierungsseite und HTTP für den Rest der Site verwenden?

    
freshest 18.11.2011, 12:15
quelle

4 Antworten

1

Meine bevorzugte Methode zum Umwandeln in https ist es, dies als erstes in Ihr PHP-Skript einzufügen. Es funktioniert in Joomla und kann sehr gut in CakePHP funktionieren.

%Vor%

Dieses Snippet erzwingt https auf der von Ihnen angezeigten Seite. Wenn Sie Zertifikatseiten isolieren möchten, legen Sie einfach einige Bedingungen fest, die auf den Informationen in der Variablen "$ _SERVER ['PHP_SELF']" basieren.

Ändern Sie andernfalls die .htaccess-Datei, vorausgesetzt, Ihr Host ermöglicht Ihnen den Zugriff darauf:

%Vor%     
Mike_K 28.12.2011 17:41
quelle
0

Ich habe genau das mit CodeIgniter gemacht. Ich bin mit CakePHP nicht ganz vertraut, aber ich bin sicher, dass der Prozess ähnlich ist.

  1. Ich habe Apache eingerichtet, um SSL- und Nicht-SSL-Datenverkehr auf dasselbe Verzeichnis zu verweisen.
  2. Dann habe ich in der Konfiguration ein Array erstellt, in dem aufgelistet ist, welche Controller SSL (Register, Login, etc) benötigen.
  3. Anschließend wurde eine Funktion in einem automatisch geladenen Helper erstellt, der überprüft hat, ob der aktuelle Controller in diesem Array war, und dann würde er base_url mit https:// anstelle von http:// zurücksetzen. Wenn sich der Controller nicht im Array befindet, wird base_url auf http:// .
  4. gesetzt

Arbeitete einwandfrei für mich. Lassen Sie mich wissen, ob Codebeispiele aus meinem CodeIgniter-Projekt hilfreich wären.

Ähnliche Beiträge, die helfen können.

    
Aaron W. 18.11.2011 13:11
quelle
0

Sie können die RequestHandler-Komponente laden und die isSsl () -Funktion verwenden, um zu bestimmen, ob sie von einem http oder https kommt, wenn! isSsl sie dann auf eine https-Seite umleitet :) sonst tun Sie, was auch immer Sie wollen.

Buchinfo der isSsl-Funktion hier

    
api55 18.11.2011 13:21
quelle
0

Eine bessere Lösung könnte sein, dies mit mod_rewrite mit htaccess für bestimmte Urls zu tun und den Code zusammen zu lassen.

Sie können Ihre Umschreibungsregeln nur für bestimmte URLs einrichten.

Hier ist eine Anleitung, wie man es für eine ganze Site macht:

Ссылка

    
user1074324 01.12.2011 22:22
quelle