php开发中可以防跨站请求的几种方法

方式1

在nginx的php配置中或是在包括的includefastcgi.conf文档中添加:

fastcgi_paramPHP_VALUE”open_basedir=$document_root:/tmp/”;

方式2

在php.ini中配备open_basedir选择项

open_basedir=/home/www/www.aaa.com:/home/www/www.bbb.com:/tmp/:/proc/

方式3

应用php5.3.3增加的.user.ini环境变量

在网址根目录下建立一个.user.ini隐藏文件,随后载入

open_basedir=/home/www/www.aaa.com:/tmp/:/proc/

这一文件夹名称能够根据php.ini文件中的user_ini.filename选择项来改动名字,及其能够根据user_ini.cache_ttl来改动起效時间,默认设置是300秒。

并且这一文档最好是关掉改动特性,避免內容被伪造,应用以下指令

chattr+i.user.ini//关掉文档改动管理权限,root客户也不可以改动

假如必须改动內容应用

chattr-i.user.ini

随后开展內容改动,改动进行后别忘了把i管理权限加回去,确保安全性。实际请manchattr及其manlsattr

Apache

方式1

在云虚拟主机环境变量中应用php_admin_valueopen_basedir来开展限定


  <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot “/srv/code/laravel/public” ServerName laravel.dev php_admin_value open_basedir “/srv/code/laravel:/tmp/:/proc/” #这里进行限制 #省略…<Directory “/srv/code/laravel/public”>//省略…</Directory></VirtualHost>

方法2

在.htaccess文件中进行设置(目前还没研究到)


转载请说明出处内容投诉
八爷源码网 » php开发中可以防跨站请求的几种方法