欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站

发布时间:2025/3/12 php 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问。

先了解一下网站正常运行所用到的用户、目录权限:

Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限。

PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限。

让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:/usr/local/php/logs/php-fpm.pid

/usr/local/php/logs/php-fpm.log

/tmp/www.haiyun.me.sock

www.onovp.com #PHP-CGI运行用户组

www.haiyun.me

启动PHP-CGI进程:/usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/www.haiyun.me.conf

设置网站目录权限,设Nginx运行用户为www:chown -R www.haiyun.me:www /home/wwwroot/www.haiyun.me

chmod -R 550 /home/wwwroot/www.haiyun.me

chmod 701 /home/wwwroot/

再修改Nginx网站配置文件,解析PHP所使用的PHP-CGI进程:location ~ .*\.(php|php5)?$

{

fastcgi_pass unix:/tmp/www.haiyun.me.sock;

fastcgi_index index.php;

include fcgi.conf;

}

php-cgi进程简单管理脚本:#! /bin/sh

# chkconfig: 2345 55 25

#https://www.haiyun.me

cgi=/usr/local/php/bin/php-cgi

case "$1" in

start)

for conf in `ls /usr/local/php/etc/*.conf`

do

$cgi --fpm --fpm-config $conf

done

;;

stop)

for pid in `ls /usr/local/php/logs/*.pid`

do

kill -TERM `cat $pid`

done

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

;;

esac

总结

以上是生活随笔为你收集整理的nginx php 防止跨站,Nginx下多网站单独php-fpm进程目录权限防跨站的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。