WordPress
Pluginentwicklung und Sicherheit
Frank Bültge
Warum ich hier bin?
Über mich · kurz & knapp! Plugins · Wozu und wann? PHP & Sicherheit · Geht das? Sichere WP-Plugins · Keine Angst? WP Plugin Framework (WPF) · Core?
Über mich
Frank Bültge · bueltge.de Webworker, Webdesigner, Webdeveloper Dipl.Ing.(FH) Für Feinwerktechnik, Entwicklung Konstruktion Tätigkeit als Softwareentwickler, vorrangig im SAP-Umfeld Kein Programmierer Autodidakt stolzer Vater & Buchautor ;-)
Plugins
Zusätzliche Funktionalität außerhalb des Systems (Core) Erleichterung von Kontrollen & Updates möglichst wenige Plugins einsetzen Prüfung: wirklich notwendig? Sicherheit des Plugins prüfen Zuverlässigkeit des Autors prüfen
PHP & Sicherheit
Sicherheit - einen Zustand, der frei von unvertretbaren Risiken der Beeinträchtigung ist oder als gefahrenfrei angesehen wird.
Wikipedia
PHP ist mächtig und damit unsicher? PHP ist vielfältig, konfigurierbar, beeinflussbar Angriffsmöglichkeiten & Schwachstellen sind vielfältig Grundregeln erlauben sichere PHP-Anwendungen
Sichere WP-Plugins #1
PHP & WordPress Coding Standards einhalten PHP Sichheitsgrundlagen nutzen Verantwortung Prüfung Bewusstsein
Sichere WP-Plugins #2 · PHP
Filtern & Validieren externer Daten
htmlspecialchars() strip_tags() urlencode() intval() & addslashes() mysql_escape_string()
Initialisierung von Variablen Error-Reporting E_ALL in der Entwicklung Referenzen
Sichere WP-Plugins #3 · WP Core
Konstanten
TEMPLATEPATH & STYLESHEETPATH ABSPATH & WPINC & PLUGINDIR WP_DEBUG COOKIEPATH etc.
attribute_escape()
Verwendung in _POST und _GET Zurückgabe von ECHOs
wp_nonce()
zufälligen Nonce-Wert bei der Verwendung von Formularen
Referenzen
WP Plugin Framework (WPF)
WPF im Codex von Keith Huster Alle gängigen Übergabe-Funktionen enthalten Verfügbar als PHP class Integration von wp_nonce & attribute_escape Gute Dokumentation Eventuell Übernahme in kommende WP-Version
Ist der bald fertig?
Aufruf zu
Umsetzung mit Verantwortung Entwickeln mit Bewusstsein Lernen der Möglichkeiten
Ja · Danke!
You are viewing a mobilized version of this site...
View original page here