Nginx のアンチジェネレーションが記述されており、パラメーター転送のチェックに問題はありません:
リーリー現在の問題は、私のバックエンド PHP プログラムが IP を取得するために変数 $_SERVER['REMOTE_ADDR'] に依存しているため、逆生成サーバーの IP を取得していることです。
バックエンドは Apache であり、仮想ホストであるため、バックエンドを変更する可能性は低いです。
バックエンド PHP プログラムは暗号化されており、変更できません。
ここで質問したいのですが、プログラムを変更せずに X-REAL-IP または HTTP_X_FORWARDED_FOR を REMOTE_ADDR に割り当てる方法はありますか?たとえば、php.ini を変更することでこれを実現できますか?
ありがとうございます。この質問は次の経由で hostloc に投稿されました: http://www.hostloc.com/thread-138304-...
私も同じ問題に遭遇しました、アドバイスをお願いします、ありがとう
给我你的怀抱2017-05-16 17:06:55
この記事では、nginx + Apache フロントエンドとバックエンドを使用して Web サイトを構築するときに訪問者の実際の IP を取得する方法について説明します (IP を取得するこの方法はより慎重です)。ただし、PHP プログラムを変更する必要もあります。 http://www.ithr.org.cn/blogs/blog1.ph...
はは、方法を見つけました。この記事「mod_rpaf、Nginx バックエンドの Apache にインターネット IP を取得させます」を読んでください: http://www.ithr.org.cn/blogs/blog1.ph...
淡淡烟草味2017-05-16 17:06:55
この要件は少し厳しいです。AP を変更できる場合は、mod_rpaf; を使用してください。
いいえ、単純にしてください。index.php を作成し、値 $_SERVER['REMOTE_ADDR'] を割り当ててから、実際の PHP コードを呼び出します。我想大声告诉你2017-05-16 17:06:55
Apache での書き換えを設定します。この PHP が行うことは、すべての php リクエストを特定の php に書き換えることです。 リーリー
または、下位レベルで転送するソフトウェア HAProxy を試してみてください。これには HTTP プロトコルが関与しないため、これらの HEADER の問題を考慮する必要はありません。怪我咯2017-05-16 17:06:55
$_SERVER['REMOTE_ADDR'] は変更できません。リクエストの送信元は次のとおりです。
暗号化されたコードの上にシェルを追加し、前の方法で説明したように値を割り当てるのは良い方法です