'http_request_host_is_external'フィルターを使用するにはどうすればよいですか
2 回答
- 投票
-
- 2013-11-14
これを行うことができます:
add_filter( 'http_request_host_is_external', '__return_true' );
ただし、これによりこのセキュリティ機能が無効になることに注意してください.ホストまたはURLが変更されず、常に変更されることがわかっている場合は、それを明示的にチェックすることで、より安全になります.
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; }
-
(,,10,3)の3番目と4番目の引数は何ですか?What are the 3rd and 4th arguments for (,,10,3)?
- 0
- 2013-11-15
- Jack Slingerland
-
10はフィルターの優先順位(10はデフォルト設定)であり、3はフィルター関数に渡す引数の数です(デフォルトは1).これが、関数に$ host値と$ url値を渡してもらうために、ここに10、3を追加する必要がある理由です.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
私はどうやら少しさびています.これは私のためにそれを世話しました:
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; });
http_request_host_is_external
フィルターを使用するのに非常に苦労しています.いくつかの背景として、私はプライベートプラグインとテーマの更新を処理するために別のサーバーをセットアップしようとしています.問題は、それが別のサーバー上にあるため、Wordpressのwp_http_validate_url
(wp-includes/http.php)関数がリクエストを強制終了することです.以下は、そのファイルの481〜503行目です.そこに、フィルターを適用して外部リクエストを実行できるはずだというコメントがありますが、私が試していることはうまくいかないようです.
プラグインのメインファイルにフィルターを設定すれば問題は解決すると思いましたが、問題はWordpressのアップデーターで外部リクエストが発生しているため、フィルターが適用されない可能性があると思います.