举例 程序目录下/www/phpwind
举例 程序拥有者 top 用户组也是top
nginx 使用nobody nobody 运行
php-cgi 使用 nobody nobody 运行
php.ini
open_basedir = "/www/phpwind/:/tmp/" nginx下比较麻烦
chown -R top:top /www/phpwind
chmod -R 745 /www/phpwind
chmod -R 777 /www/phpwind/data
chmod -R 777 /www/phpwind/attachment
8.0
chmod -R 777 /www/phpwind/html
7.5sp3前
chmod -R 777 /www/phpwind/html_data
nginx 虚拟主机配置中
在
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
前面加入
location ~ ^/attachment/.*\.(php|php5)$
{
deny all;
}
location ~ ^/data/.*\.(php|php5)$
{
deny all;
}
8.0
location ~ ^/html/.*\.(php|php5)$
{
deny all;
}
7.5sp3前
location ~ ^/html_data/.*\.(php|php5)$
{
deny all;
}
由于sql_config.php 直接在data 目录下 而且数据库账号 密码 直接可见 所以数据库账号针对性授权 针对ip 不可用*
程序目录下 也最好不要 数据库连接类程序如phpmyadmin
可能部分程序 需要在 /www/phpwind 目录下面直接写文件 这样的插件不要使用了 或者修改一下插件把文件写到 data 目录下面去
以上方法 做到了 可写的目录不可执行php 程序 其他可以执行的程序 不可修改
这样左右 后台修改 登陆文件名 注册文件名 修改images 附件目录名等功能 应该就无法使用了 一般情况下这些功能也不建议使用 为了安全牺牲这些值得的
欢迎大家补充
以前发到官方论坛的 保存到这边