Wie verwende ich den Filter 'http_request_host_is_external'
2 Antworten
- Stimmen
-
- 2013-11-14
Sie können diestun:
add_filter( 'http_request_host_is_external', '__return_true' );
Beachten Siejedoch,dass diese Sicherheitsfunktion dadurch deaktiviert wird.Wenn Sie wissen,dass sich der Host oder die URLnicht ändern wird und dies auchimmer sein wird,können Sie sicherer sein,indem Sie diesexplizit überprüfen:
add_filter( 'http_request_host_is_external', 'allow_my_custom_host', 10, 3 ); function allow_my_custom_host( $allow, $host, $url ) { if ( $host == 'my-update-server' ) $allow = true; return $allow; }
You can do this:
add_filter( 'http_request_host_is_external', '__return_true' );
However, note that this disables this security feature. If you know the host or url isn't going to change and is always going to be that, you can be more secure by checking for that explicitly:
add_filter( 'http_request_host_is_external', 'allow_my_custom_host', 10, 3 ); function allow_my_custom_host( $allow, $host, $url ) { if ( $host == 'my-update-server' ) $allow = true; return $allow; }
-
Was sind die 3. und 4. Argumentefür (,,10,3)?What are the 3rd and 4th arguments for (,,10,3)?
- 0
- 2013-11-15
- Jack Slingerland
-
Die 10ist die Priorität des Filters (10ist die Standardeinstellung) und die 3ist die Anzahl der Argumente,die an die Filterfunktion übergeben werden sollen (die Standardeinstellungist 1).Aus diesem Grundmussteich hier die 10,3 hinzufügen,da die Funktion die Werte $ host und $ url an sie übergeben soll.The 10 is the priority of the filter (10 is the default setting), and the 3 is the number of arguments to pass to the filter function (the default is 1). This is why I had to add the 10, 3 here, because I want the function to get the $host and $url values passed to it.
- 1
- 2013-11-15
- Otto
-
- 2013-11-14
Ichbin anscheinendetwas verrostet.Das hat sichfürmicherledigt:
add_filter( 'http_request_host_is_external', function() { return true; });
I'm apparently a little rusty. This took care of it for me:
add_filter( 'http_request_host_is_external', function() { return true; });
Esfälltmir wirklich schwer,den Filter
http_request_host_is_external
zu verwenden. Füreinige Hintergrundinformationen versucheich,einen separaten Serverfürprivate Plugin- und Theme-Updateseinzurichten. Das Problemist,dasses sich aufeinem separaten Serverbefindet,sodass die Wordpress-Funktionwp_http_validate_url
(wp-includes/http.php) die Anforderungbeendet. Das Folgende sind die Zeilen 481-503 dieser Datei.Sie werdenfeststellen,dass dortein Kommentar steht,in demerwähnt wird,dass wir den Filter anwenden undexterne Anfragen stellen können sollten,aber wasich versuche,scheintnicht zufunktionieren.
Ich dachte,wennich den Filterin der Hauptdateimeines Plugins setze,würdeer sich darum kümmern,aberich denke,das Problemist,dass dieexterne Anforderung direktim Wordpress-Updater ausgeführt wird. Vielleichttrifftmein Filter alsonicht zu?