师哥 发表于 2022-7-11 10:19:41

lnmp怎么修改允许跨站访问

新建站点后目录都会有一个 .user.ini


open_basedir=/home/wwwroot/xxx.com:/tmp/:/proc/

想这个站点可以访问其它站点文件,所以我改为open_basedir=/home/wwwroot:/tmp/:/proc/ 但是依旧只能访问当前站点目录。修改后也重启了nginx,服务器都重启了也不行哦

以前用apache的时候,都是修改虚拟主机配置文件就可以了,这个nginx不知道咋搞,求指导
apache的修改方法 php_admin_value open_basedir "/home/wwwroot:/tmp/:/var/tmp/:/proc/"

licess 发表于 2022-7-11 13:41:35

lnmp模式下是两层防跨目录设置的,极端情况下一层设置会被突破
论坛或 https://lnmp.org 搜索:防跨目录设置

师哥 发表于 2022-7-11 14:23:25

licess 发表于 2022-7-11 13:41
lnmp模式下是两层防跨目录设置的,极端情况下一层设置会被突破
论坛或 https://lnmp.org 搜索:防跨目录设 ...

我看了其它帖子,发现也不行哦。
我把站点下的.user.ini删掉了不行
php.ini中的相关配置默认就是被注释掉的
;;;;;;;;;;;;;;;;;;;;
; php.ini Options;
;;;;;;;;;;;;;;;;;;;;
; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
;user_ini.filename = ".user.ini"

; To disable this feature set this option to an empty value
;user_ini.filename =

; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
;user_ini.cache_ttl = 300

师哥 发表于 2022-7-11 14:40:13

licess 发表于 2022-7-11 13:41
lnmp模式下是两层防跨目录设置的,极端情况下一层设置会被突破
论坛或 https://lnmp.org 搜索:防跨目录设 ...

别的帖子有提到 fastcgi.conf
修改这个有效,但是这样的话,所有站点都可以跨目录了
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";
咋样可以只让特定的站点可以跨目录,.user.ini这个文件,不管是我怎么修改还是去删除它,都丝毫不会对跨目录限制起到作用,nginx php-frm都重启了

师哥 发表于 2022-7-11 14:51:51

licess 发表于 2022-7-11 13:41
lnmp模式下是两层防跨目录设置的,极端情况下一层设置会被突破
论坛或 https://lnmp.org 搜索:防跨目录设 ...
感谢军哥帮忙,解决了。是我没仔细看

1.4的话 https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini 需要按这个 把 fastcgi.conf 里对应的行注释掉或删除,然后修改.user.ini 就可以了。
页: [1]
查看完整版本: lnmp怎么修改允许跨站访问