Frage

Was ist ein sicherer Weg, um Cookies zu überprüfen/festzulegen, bevor die PHP -Header gesendet werden? Gibt es eine Aktion oder einen Filter, der der beste Ort ist, um a zu hängen setcookie() Funktion?

War es hilfreich?

Lösung

Hängt davon ab, ob Sie die Benutzerauthentifizierung von WordPress überprüfen müssen oder nicht. Wenn Sie wissen müssen, ob sie ein angemeldeter Benutzer sind 'init'. Ansonsten desto eher desto besser.

Wenn es etwas ist, das auf jeder Seitenladung abfeuern und nur über die Existenz des Keks prüft und keine der APIs von WP nutzen muss, würde ich es in einen benutzerdefinierten MU-Plugin namens einfügen 0000a.php Um sicherzustellen, dass es ausgelöst wird, bevor keine Kerndateien versehentlich Header senden können.

Andere Tipps

Ich finde functions.php wird definitiv vor jeder Ausgabe verarbeitet und passt für Erweiterungen an.

Wie für Hook, vielleicht after_setup_theme, Es kommt direkt danach.

Sie können eine Funktion zum Überprüfen oder Festlegen eines Cookies erstellen, müssen jedoch nach wp-config.php suchen, da die Datei bei Verwendung eines Umleitungsdatei direkt vor Index.php auf der Umleitung zugegriffen wird.

Dies ist von einem Plugin, das Mark Jaquith schrieb Altersüberprüfung Dadurch muss der Benutzer ein Altersüberprüfungsformular ausfüllen, bevor er die Site betritt. Ich habe es für a geändert Alkohol, Bier, Witzseite Ich tat.

if ( !defined( 'ABSPATH' ) ) { // we're being called directly, to check the cookie
     if ( file_exists('../../wp-config.php') )
                  include('../../wp-config.php');
     elseif ( file_exists('../../../wp-config.php') )
               include('../../../wp-config.php');
    else
       die('Could not find wp-config.php');

Ein besserer Weg könnte jetzt existieren. Das Plugin wurde vor über einem Jahr geschrieben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top