Mein erstes WordPress-Plugin (Teil 2)
Whohoow, das ist ja alles viel einfacher als erwartet! 2 Stunden nach der Ankündigung hatte ich den ganzen Datenkram schon fertig, mittlerweile läuft alles!
Kleinere Hürden waren eigentlich nur zwei.
Erstens musste ich das Datenbank-Zugriffs-Objekt $wpdb erst als global setzen, sonst hat man da keinen Zugriff. Ist eigentlich auch klar, aber ich war kurz drüber gestolpert.
Zweitens wollte ich ja am Ende ein Dokument haben, das nicht innerhalb von WordPress angezeigt wird, sondern stand-alone. Aber wie soll es dann auf die Datenbanken von WordPress zugreifen?
Erst dachte ich, ich muss sozusagen den ganzen Overhead von WordPress initialisieren, aber nicht anzeigen. Würde vermutlich auch gehen. Stattdessen mache ich aber auch das ganz simpel und schmutzig, ich lasse einfach innerhalb von WordPress die Daten zusammentragen, und dann wirft der das alles über ne Post-Abfrage in das unabhängige Dokument, sodass mich WordPress und die Datenbank-Anbindung überhaupt nicht mehr kümmert. Tadaa!
Noch offen ist eigentlich nur noch eins: Ich möchte das unabhängige Dokument noch absichern. Es ist zwar total unwahrscheinlich, dass jemand an die URL kommt, aber ich hätte darin am liebsten noch eine Abfrage, ob der User da ran darf. Die Daten sind zwar sicher (die kommen ja nur über ein POST rein), aber ich hab zu wenig Ahnung von Angriffen, um das nicht irgendwie zu sichern. Mindestens setze ich ein die(), falls irgendeine Zeichenkette nicht in den Post-Daten ist. Noch lieber wäre mir ein Check durch WordPress, aber dann brauche ich doch wieder den Overhead…
ben_
sagt:Den WP-Overhead in ein stand-alone Skript zu bekommen ist total einfach. Wenn sie hier einmal schauen wollen …
https://gist.github.com/benthebear/e74b4918d51bdd99b38ec42c78edd980
… die Datei legst Du am besten mit in das Plugin. Und die kannst Du dann per htaccess vor externem Zugriff schützen …
AuthType Basic
AuthName „WordPress Admin Area“
AuthUserFile /path/to/your/.htpasswd
Require valid-user
Alles klar?! :)
ben_
sagt:Meh. WordPress hat latürnich die Spitzen Klammer der htaccess-Info gefressen. Du kannst das im Backend ja richtig sehen, wenn Du den Kommentar bearbeitest.
jan
sagt:Oho! Gut zu wissen, danke dir, das bastel ich dann die Tage mal noch hinein als Sicherheit!