Kategorie: PHP

Arbeiten mit Phar-Archiven

Ich nutze für meine Seiten eine Art selbstgeschriebenes Framework; die selbe Codebase für alle Anwendungen, in der alles enthalten ist, was ich standardmäßig brauche. Session Handling, Anbindungen an Datenbanken, eine kleine Templateengine, etc. Die Anwendungen an sich wurden bei mir bisher immer nur im „app“-Verzeichnis abgelegt. Hatte ich ein Update für eine Seite, habe ich […]

Alles lesen

PHP: Zugriff auf Adminpanel für Benutzer verhindern

Um zu verhindern, dass nicht-Administratoren auf das Admin-Dashboard zugreifen können, registrieren wir zuerst einen Listener, der triggert, sobald jemand dieses abrufen möchte: add_action(‚admin_init‘, ‚dashboard_for_admins_only‘); Der Code für die Funktion dashboard_for_admins_only sieht wie folgt aus: function dashboard_for_admins_only() { // Trotzdem Zugriff auf Admin-AJAX zulassen if($_SERVER[‚PHP_SELF‘] == ‚admin-ajax.php‘) return; // Administratoren den Zugriff erlauben if(current_user_can(‚manage_options‘)) return; // […]

Alles lesen

PHP: Einen Benutzer einloggen

Möchten wir einen Benutzer einloggen, benötigen wir erst einmal seine ID. Ein Beispiel, wie wir einen Benutzer über seine Email auslesen können: $user = get_user_by(‚email‘, ‚[email protected]‘); Um den Benutzer dann einzuloggen, wenn er erfolgreich aus der Datenbank geladen wurde: if($user) { wp_set_current_user($user->ID, $user->user_login); wp_set_auth_cookie($user->ID); do_action(‚wp_login‘, $user->user_login); }

Alles lesen

PHP: WordPress Passwörter erstellen / validieren

In der wp-includes/pluggable.php finden wir die Funktion wp_hash_password, welche (ohne den Code für die Plugins) wie folgt aussieht $s = new PasswordHash(8, true); echo $s->HashPassword(‚test‘); In selbiger Datei finden wir ebenfalls die Funktion wp_check_password, welche auf folgende Art und Weise Passwörter validiert: $s = new PasswordHash(8, true); $s->CheckPassword(‚test‘, ‚$P$123456789012345678901234567890‘); Der String, der mit „$P$“ anfängt, […]

Alles lesen