2

Cloudflare は、元のクライアントの IP アドレスを保持するためのソリューションを多数提供していますが、ほとんどの場合、物理ボックスへのアクセス権を所有しているユーザーや IaaS を使用しているユーザー向けです。

Google アプリ エンジンの場合、元のクライアントの IP アドレスを引き続き抽出できるように Cloudflare と連携させるにはどうすればよいですか?

4

3 に答える 3

2

HTTP_X_FORWARDED_FOR を使用して「実際の」IP を取得することもできます。これらの詳細を使用して、Javaでそれを取得できるようです。

 String ipaddress = request.getHeader("HTTP_X_FORWARDED_FOR");

 if (ipaddress  == null)
        ipaddress = request.getRemoteAddr();

ソース = http://thepcspy.com/read/getting_the_real_ip_of_your_users/

関連して役立つかもしれません: http://www.coderanch.com/t/293684/JSP/java/client-IP-address-Domain-Java

于 2013-06-25T20:47:25.373 に答える
1

cloudflare サポートによると、ヘッダーを設定しています: CF-Connecting-IP.

このヘッダーをJavaで取得するには、次を使用できます

String paramIpAddress = request.getHeader("CF-Connecting-IP");
if (paramIpAddress == null) {
    paramIpAddress = request.getRemoteAddr();
}
于 2016-04-18T08:12:48.027 に答える
0

次のサーバー変数を使用できます。

$_SERVER["HTTP_CF_CONNECTING_IP"] 実際の訪問者の IP アドレス

$_SERVER["HTTP_CF_IPCOUNTRY"] 訪問者の国

$_SERVER["HTTP_CF_VISITOR"] HTTP または HTTPS の場合

以下は、PHP のサンプル コードです。

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
于 2013-06-20T23:42:17.300 に答える