ユーザーと一部の HTTP リソースの間で TPROXY として機能する PHP アプリがあります。つまり、発信接続のためにユーザーの IP にバインドすることにより、ソケットを透過モードに設定します。
socket_set_option($outgoing_socket, 0 /*SOL_IP*/, 19 /*IP_TRANSPARENT*/, 1);
socket_bind($outgoing_socket, $incoming_ip, $incoming_port);
無効なリクエスト ヘッダーやレスポンス ヘッダーなどと戦うのに疲れました。ペイロードで。
問題?両方のソリューションで、基になるソケットの TPROXY モードを有効にする方法が見つかりませんでした。
- 残念ながら、libcurl の PHP バインディングでは CURLOPT_SOCKOPTFUNCTION がサポートされていないようです。
- IP_TRANSPARENT をソケットに設定しないと、http ['socket']['bind'] コンテキストは、現在のマシンに割り当てられていない IP を受け入れません。
私の問題を解決する方法はありますか?