Hallo,
das kann man so pauschal sicher nicht beantworten. Einen guten Einstieg und die Pluginentwicklung findest du auf der folgenden Seite.
Zusätzlich kann ich noch 2 Bücher empfehlen:
Onno Gabriel: „Entwicklung von WordPress-Plugins“ und
David Remer: „WordPress für Entwickler“.
Das erste Buch ist kompakter und das zweite geht mehr in die Tiefe.
Viele Grüße
Hans-Gerd
Hans-Gerd war schneller als ich, aber ich hätte auch auf das Plugin Developer Handbook verwiesen – ganz besonders auf das Kapitel Security. Da ist bereits eine gute Unterteilung in Benutzerrechte, Validierung, Sanitizing, Escaping und die Verwendung von Nonces („Numbers, used once“, damit wird geprüft ob ein Admin-Befehl wirklich vom Anwender stammt).
Kann bei einer solchen Anwendung die nur aus HTML, CSS, JS besteht überhaupt eine Sicherheitslücke entstehen?
Du hast PHP vergessen – ohne PHP funktionieren Plugins nicht.
Und ja, mit PHP und JavaScript können Sicherheitslücken entstehen, etwa durch Einschleusen von Datenbankabfragen (SQL Code Injection), Cross-Sites-Scripting oder Cross-Site-Request-Forgery.
WordPress stellt dir viele Funktionen zur Validierung und Bereinigung von Code zur Verfügung. (vgl. https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data)
Thread-Starter
ebody
(@ebody)
Vielen Dank für die Infos und Links. Je nach Plugin gibt es wahrscheinlich unzählige potentielle Sicherheitslücken die entstehen könnten. Ich würde mich gerne nur mit denen befassen, die für mein Plugin relevant sind, um den Lern und Zeitumfang deutlich zu begrenzen.
Könnt ihr da evtl. ein gutes Tool für empfehlen, welches ein Plugin prüft und Lücken anzeigt?
Du hast PHP vergessen – ohne PHP funktionieren Plugins nicht.
Und ja, mit PHP und JavaScript können Sicherheitslücken entstehen, etwa durch Einschleusen von Datenbankabfragen (SQL Code Injection), Cross-Sites-Scripting oder Cross-Site-Request-Forgery.
Sagen wir es ist ein Tic Tac Toe Spiel. Der PHP Code beschränkt sich nur darauf, die Anwendung (HTML, CSS, JS) als Plugin verwenden zu können. Dann dürfte doch so etwas wie SQL Code Injection nicht möglich sein oder? Es gibt kein Textfeld, kein Formular, kein PHP Script was von dieser Anwendung aufgerufen wird und an dessen URL Parameter gehangen werden könnten.
Es geht mir auch darum ein Gefühl dafür zu bekommen und einschätzen zu können, wie aufwendig alleine der Punkt Sicherheit jetzt für dieses Plugin wäre. Ich könnte es ja auch ohne Plugin über die functions.php in die Webseite einbinden, das dürfte aber bzgl. Sicherheit keinen Unterschied machen oder?
Gruß
ebody
Ich würde mich gerne nur mit denen befassen, die für mein Plugin relevant sind, um den Lern und Zeitumfang deutlich zu begrenzen.
Ich halte das für einen falschen Ansatz.
Im Plugin-Develope-Handbook die relevanten Kapitel zur Sicherhiet durchzugehen dauert auch keine drei Semester mit anschließenem Staatsexamen.
Wenn dein Plugin aus der Zeile echo 'hello world';
besteht, besteht wenig Gefahr, eine Sicherheitslücke zu erzeugen. Wenn dein Plugin mit echo $wasauchimmer;
eine Variable ausgibt, sieht es schon etwas anders aus.
Könnt ihr da evtl. ein gutes Tool für empfehlen, welches ein Plugin prüft und Lücken anzeigt?
Denk einfach immer „die Welt ist schlecht, die wollen mich alle angreifen“ und schon hast du die richtige Einstellung. 😉
(Bezieht sich auf deinen Code. Hier im Forum sind wir alle einfach nur nett.)
Es gibt kein Textfeld, kein Formular, kein PHP Script was von dieser Anwendung aufgerufen wird …
Das kannst du besser beurteilen.
Ich könnte es ja auch ohne Plugin über die functions.php in die Webseite einbinden, das dürfte aber bzgl. Sicherheit keinen Unterschied machen oder?
Stimmt, da kannst du auch viel verbocken.