【问题标题】:Symfony - app_dev my ipv6 addedSymfony - app_dev 我的 ipv6 添加
【发布时间】:2012-12-18 10:55:18
【问题描述】:

我正在尝试为我的 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。

如何解释?
我该如何调试?

【问题讨论】:

  • 我觉得用HTACCESS保护app_dev/php文件比较好
  • 也许它更安全一点,但在这里我只是尝试使用它在 Symfony 上设计的标准方式。你认为我们应该用 htaccess 覆盖这个安全性吗?
  • 是的,我想。 Symfony2 并没有真正保护app_dev.php 文件的标准方法。它可能更安全一些,但我只是认为它是做这样的事情的地方。

标签: php symfony development-environment ipv6


【解决方案1】:

就个人而言,为了解决这个问题,我修改了 app_dev.php,插入了一个从服务器角度显示您的 IP 的代码! :)

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);

最后我通过 ftp 在 app_dev.php 文件的 IP 数组中添加了显示的 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')

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2015-02-11
    • 2011-08-11
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多