2009-03-13 14 views
1

Ich habe gerade WordPress (die neueste) installiert und ich versuche, WordPress zu studieren, um meine Kreationen sicher wie WordPress oder zu seinem Niveau zu machen.Cookies erstellt in WordPress (neueste)

Ich bemerkte beim Einloggen in Wordpress, es erstellt 3 Cookies.

was ich versuche herauszufinden, ist - nach dem Einloggen in Wordpress und nachdem es die Cookies für den Benutzer erstellt. die Hash-Werte, die in den Cookie eingefügt werden, wie authentifiziert dieser Wert, wer der Benutzer ist? Ich habe die Werte im Cookie gegen die Werte in der Datenbank-Tabelle namens wp_users und es stimmt nicht übereingestimmt ..

was ich normalerweise tun, wenn die Authentifizierung eines Benutzers ist bei der Registrierung ist ich habe eine Spalte in einem Tabelle sagt tbl_users Hash genannt und der Wert, der in dieser Spalte gehen würde, wäre eine sha1 Konvertierung des Benutzernamens (der Benutzer bei der Registrierung erstellt). und beim Anmelden auf einer Anmeldeseite und nach der Authentifizierung des Benutzers durch Überprüfen, ob er in der Datenbank usw. existiert. Ich würde ein Cookie für diesen Benutzer erstellen. Im Cookie würde ich den Hash, der in der Datenbank existierte, einfügen und im Cookie speichern. So habe ich den Benutzer durch die Seiten verfolgt. Wer weiß, wie Wordpress es macht? oder vielleicht mache ich es falsch? ich weiß nicht ..

danke im voraus.

Antwort

1

Wenn sich der Hash für die Benutzerauthentifizierung in einem Cookie befindet, kann er gelesen werden, und da er bereits mit dem in der Datenbank übereinstimmt, könnte er von jedem verwendet werden, der weiß, wie er die Cookies betrachtet. Wordpress wendet ein wenig Post-Processing auf den User-Hash an, ich denke, es ist in wp_settings.php.

Ich denke, es kombiniert den Benutzer-Hash mit dem eindeutigen Schlüssel, den Sie in eine der Variablen in wp_config.php schreiben. Danach haben Sie einen eindeutigen Schlüssel, der aus etwas öffentlich verfügbarem aufgebaut ist, wie der Hash des Benutzernamens oder was auch immer es ist und etwas, das nur im Skript verfügbar ist, dh. nicht öffentlich verfügbar. Es ist diese Kombination, die dann übereinstimmt, was in der db ist und authentifiziert den Benutzer.

Hoffnung, die Sinn macht. Einige andere Leute können Sie vielleicht besser über die PHP-Sicherheit beraten, daher möchten Sie vielleicht Ihre Frage allgemeiner machen.

0

Ich würde MD5-Verschlüsselung betrachten und einfach versuchen, in Ihrem WordPress db mit diesem zu validieren. Ich habe es nicht versucht, aber ich möchte das Gleiche tun.

Nur eine Anmerkung an Sie. Als ich beim Erstellen von Web-Apps mit demselben Problem konfrontiert wurde, habe ich es vermieden, mich damit zu beschäftigen, und habe mich entschieden, WordPress als Wrapper für meine Apps zu verwenden. Sie können sich direkt auf Ihre gewählte Vorlage einloggen, die eine PHP-Seite sein kann. Sie können also alles tun, was Sie möchten, aber Ihre Anwendung wird von Wordpress geschützt und aktualisiert ihre Sicherheit, wenn sich die Dinge ändern. Für mich war das bisher eine Win Win Win-Vereinbarung.

Ich validiere meine Benutzer mit WordPress selbst. Sie können Funktionen aufrufen, die in Wordpress vorhanden sind, um zu überprüfen, wer eingeloggt ist und Ihre App verwendet. Sie können dann alle Vorteile von WordPress nutzen. Ich mag PHPMyAdmin direkt im Admin-Panel von WordPress. Das hat mein Leben in letzter Zeit unglaublich erleichtert und ich muss mir keine Sorgen über das machen, was ich über Sicherheit nicht weiß. Wenn Sie ohne einen Sicherheitsexperten entwickeln, könnte dies eine gute Option für Sie sein. Lass es mich wissen, wenn du mehr darüber wissen willst, wie ich es aufstelle.