【问题标题】:phpmyadmin securityphpmyadmin 安全
【发布时间】:2010-10-17 03:31:45
【问题描述】:

我有一个带有 apache2、php、mysql 的生产服务器。 我现在只有一个站点(mysite.com)作为虚拟主机。我想把 phpmyadmin、webalizer 和 webmin 放在那里。到目前为止,我安装了phpmyadmin,它可以工作,但是整个互联网都可以访问mysite.com/phpmyadmin

如何将可见性降低到 192.168.0.0/16,以便防火墙后面的机器可以访问它?

【问题讨论】:

    标签: php apache2 phpmyadmin


    【解决方案1】:

    1) 您可以在网络服务器级别执行此操作。

    对 apache 使用允许/拒绝规则。如果您无法直接访问 apache 配置文件,则可以使用 .htaccess 文件。

    <Directory /docroot>
        Order Deny,Allow
        Deny from all
        Allow from 10.1.2.3
    </Directory>
    

    2) 您可以使用 phpmyadmin 配置文件在应用程序级别执行此操作。

    配置参数为:$cfg['Servers'][$i]['AllowDeny']['rules']

    规则示例如下:

    'all' -> 0.0.0.0/0
    'localhost' -> 127.0.0.1/8
    'localnetA' -> SERVER_ADDRESS/8
    'localnetB' -> SERVER_ADDRESS/16
    'localnetC' -> SERVER_ADDRESS/24
    

    您可以在官方的 phpMyAdmin 配置文档中看到这一点。

    http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

    【讨论】:

    • 我做了选项 #2,添加 /usr/share/phpmyadmin 以允许 192.168.0.0/16 并且它似乎有效。谢谢。
    • 选项 2 是要走的路。更简单,我宁愿在它运行任何 PHP 周期之前阻止它。
    • 好的,我首先移动了 Apache 选项。
    • 这样人们就不会感到困惑:对于所有早于那个的 cmets,当他们说选项 #2 时,他们实际上是指 Webserver 选项。
    【解决方案2】:

    您将在 Apache 中使用一个名为 mod_access 的模块

    您可以在 apache 配置文件或目录根目录的 .htaccess 文件中配置它。

    这是一个简短的例子

    <Directory /your_folder/location>
        Order Deny,Allow
        Deny from all
       Allow from 123.123.123.123
    </Directory>
    

    【讨论】:

      【解决方案3】:

      使用<Location> 指令(在服务器配置中或者如果允许,在.htaccess 中)。在那里,您可以使用Allow from 拒绝其他所有人除了某些特定来源的访问。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-28
        • 2016-11-16
        • 2011-04-09
        • 2016-08-20
        • 2012-02-21
        • 2011-05-18
        相关资源
        最近更新 更多