设置PHP程序访问限制,彻底杜绝PHP******
PHPCMS平台的注入漏洞太多,防不胜防,为此我想了个设置PHP程序访问限制的方法。只允许访问以下四个PHP程序:
/index.php
/admin.php
/api.php
/phpsso_server/index.php
其它一律禁止访问。 以下是apache中虚拟主机增加的重写定义:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !(\.php$)
RewriteRule ^.*$ -
RewriteRule ^/index.php(.*)$ /index.php$1
RewriteRule ^/admin.php(.*)$ /admin.php$1
RewriteRule ^/api.php(.*)$ /api.php$1
RewriteRule ^/phpsso_server/index.php(.*)$ /phpsso_server/index.php$1
RewriteRule \.php$ -
我已经测试过:对静态网页没有影响,输入任何这四个PHP之外的PHP,全部返回403.
如果其它PHP程序需要运行,可以增加rewriterule定义允许其运行。
不允许增加的PHP程序运行还不能完全杜绝***,***还会修改现有的PHP程序。所以还要把以下文件及目录全部改成不能写入:
/index.php
/api.php
/admin.php
/plugin.php
/phpcms/
/api/
/phpsso_server/
在程序升级时再打开写入。
在这种情况下,***通过phpcms漏洞肯定是进不来的了。
页:
[1]