0

IP用のSymfony2アプリケーションの開発環境へのアクセスを許可しようとしています。

web / app_dev.php

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array(
        '127.0.0.1',
        'xxxx:xxx:xxxx:xxx:xxx:xxxx:xxxx:xxxx', // My ipv6
        '::1',
    ))
) {

それは私のipv4で動作しますが、私のipv6では動作しません。

どのように説明できますか?
これをデバッグするにはどうすればよいですか?

4

1 に答える 1

0

個人的には、この問題を修正するために、サーバーの観点から IP を示すコードを挿入してapp_dev.phpを変更しました。:)

header('HTTP/1.0 403 Forbidden');
$monip = $_SERVER['REMOTE_ADDR'];
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.<br>Your IP is '.$monip);

最後に、表示された IP を ftp 経由で app_dev.php ファイルの IP 配列に追加しました。

if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1', 'yourIP_HERE')) || php_sapi_name() === 'cli-server')

)

于 2016-04-24T20:57:30.147 に答える