Wie Sie vielleicht schon bemerkt haben: die HTTP-API in WordPress ist sehr umfangreich und erlaubt daher vielseitige Anwendungen.
HTTP-API Hooks
Wenn Sie sich den Quellcode der API schon einmal näher angesehen haben, konnten Sie sicherlich feststellen, dass WordPress auch hier wieder regen Gebrauch von Hooks macht. Einige davon möchte ich Ihnen zusammen mit ihren Parametern hier aufzeigen:
Beispiel 1: Sperren von Domains
Beispiel 2: Entfernen der Transportmöglichkeit ‚CURL‘
Verbindungen über Proxies
Ein Proxy ist eine Art Kommunikationsvermittler in einem Computernetzwerk. Er nimmt eine Anfrage entgegen um dann über seine eigene Adresse eine Verbindung zur Gegenstelle aufzunehmen.
WordPress unterstützt auch Proxies. Im nachfolgenden möchte ich aufzeigen, wie die Konfiguration funktioniert.
Proxy-Verbindung herstellen
Folgende PHP-Konstanten müssen in der wp-config.php
-Datei definiert werden:
<?php
define( 'WP_PROXY_HOST', 'proxy.mustermann.com' );
define( 'WP_PROXY_PORT', '3128' );
define( 'WP_PROXY_USERNAME', 'benutzer01 );
define( 'WP_PROXY_PASSWORD', 'pass-1-5' );
?>
Beachten Sie:
WP_PROXY_USERNAME
undWP_PROXY_PASSWORD
müssen nur angegeben werden, wenn der Proxy eine Authentifizierung benötigt.- Mit
WP_PROXY_BYPASS_HOSTS
kann eine, durch Komma getrennte, Liste von Adressen angegeben werden, die nicht durch den Proxy laufen sollen.localhost
sowie die eigene Blog-Hostadresse müssen nicht angegeben werden, denn Anfragen dorthin werden niemals durch den Proxy geschickt.
‚Umgehungen‘ Festlegen
Ein Proxy kann auch umgangen werden. Und zwar durch das Festlegen einer Liste von erlaubten Hosts (ebenfalls in der wp-config.php
):
<?php
define( 'WP_PROXY_BYPASS_HOSTS', '*.mustermann.com, noproxy.mustermann.de' );
?>
WP_PROXY_BYPASS_HOSTS
erlaubt die Angabe von so genannten Wildcards. Die Angabe von *.mustermann.com
sorg zum Beispiel dafür, dass alle Adressen die mit .mustermann.com
enden nicht durch den Proxy geschleift werden.
Verbindungen sperren
Auch lassen sich sofort alle Verbindungen durch die HTTP-API sperren. Damit simuliert man eine Firewall die mit einer Whitelist arbeitet. Das heißt: es werden erst einmal alle Verbindungen gesperrt bis auf diejenigen, die in der Whitelist stehen.
Alle Verbindungen sperren:
<?php
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
?>
Whitelist anlegen:
<?php
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org, *.mustermann.com' );
?>
Auch WP_ACCESSIBLE_HOSTS
erlaubt die Angabe von Wildcards. Die Angabe von *.mustermann.com
sorg zum Beispiel dafür, dass alle Adressen die mit .mustermann.com
durch den Proxy geschleift werden dürfen. Natürlich angenommen der Proxy wurden ebenso konfiguriert.
Hinweis
Sie sollten zumindest die Verbindung zu
api.wordpress.org
erlauben um die jeweils aktuellsten Upgrades, Plugin- und Theme-Updates zu kommen.