Nginx+Php中限制站点目录防止跨站的配置方案记录

Nginx+Php中限制站点目录防止跨站的配置方案记录(使用open_basedir)-------------------
方法1)在Nginx配置文件中加入:


1

fastcgi_param  PHP_VALUE  "open_basedir=$document_root:/tmp/:/proc/";

通常nginx的站点配置文件里用了include fastcgi.conf;,这样的,把这行加在fastcgi.conf里就OK了。
如果某个站点需要单独设置额外的目录,把上面的代码写在include fastcgi.conf;这行下面就OK了,会把fastcgi.conf中的设置覆盖掉。
这种方式的设置需要重启nginx后生效。

方法2)在php.ini中加入


1

2

3

4

[HOST=www.wangshibo.com]

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

[PATH=/home/www/www.wangshibo.com]

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

这种方式的设置需要重启php-fpm后生效。

方法3)在网站根目录下创建.user.ini文件,并在该文件中写入下面信息:


1

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

这种方式不需要重启nginx或php-fpm服务。安全起见应当取消掉.user.ini文件的写权限。

php.ini中建议禁止的函数如下:


1

disable_functions = pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_w

G

M

T

Detect language
Afrikaans
Albanian
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bengali
Bosnian
Bulgarian
Catalan
Cebuano
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Filipino
Finnish
French
Galician
Georgian
German
Greek
Gujarati
Haitian Creole
Hausa
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Khmer
Korean
Lao
Latin
Latvian
Lithuanian
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mongolian
Myanmar (Burmese)
Nepali
Norwegian
Persian
Polish
Portuguese
Punjabi
Romanian
Russian
Serbian
Sesotho
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Swahili
Swedish
Tajik
Tamil
Telugu
Thai
Turkish
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Yiddish
Yoruba
Zulu
  Afrikaans
Albanian
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bengali
Bosnian
Bulgarian
Catalan
Cebuano
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Filipino
Finnish
French
Galician
Georgian
German
Greek
Gujarati
Haitian Creole
Hausa
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Khmer
Korean
Lao
Latin
Latvian
Lithuanian
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mongolian
Myanmar (Burmese)
Nepali
Norwegian
Persian
Polish
Portuguese
Punjabi
Romanian
Russian
Serbian
Sesotho
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Swahili
Swedish
Tajik
Tamil
Telugu
Thai
Turkish
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Yiddish
Yoruba
Zulu
         

Text-to-speech function is limited to 200 characters

  Options : History : Feedback : Donate Close

原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8780096.html

时间: 2024-10-31 04:46:15

Nginx+Php中限制站点目录防止跨站的配置方案记录的相关文章

nginx+php使用open_basedir限制站点目录防止跨站

open_basedir的正确格式:php_admin_value[open_basedir]=/data/www/:/tmp/ 这种方式不需要重启nginx或php-fpm服务.安全起见应当取消掉.user.ini文件的写权限.关于.user.ini文件的详细说明:http://php.net/manual/zh/configuration.file.per-user.php 设置open_basedir的同时最好禁止下执行命令的函数,比如:shell_exec('ls /etc')仍然查看到

防御CSRF的方法有哪些(一) HTTP 头中自定义属性并验证 CSRF跨站域请求伪造攻击

CSRF (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作,有很大的危害性. CSRF 攻击实例 CSRF 攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作. 比如说,受害者 Bob 在银行有一笔存款,通过对银行的网站发送请求 http://bank.example

3.2.4 、Google Tag Manager实战指南——跨站跟踪

在实际的过程中,有时候多个站点需要看成一个站点来评估网站的流量情况,比如同一产品对不同地域使用不同域名,或壳站和主站之间,这就需要对网站做跨域跟踪. 实现原理:每个站点对应一个GTM容器,每个站点在GTM都做同样配置,将不同站点的数据向同一个GA的媒体资源发送,代码中的allowLinker和CookieDomain是解决不同站点同一用户的识别问题,用户在跨站的时候将用户唯一标示clientid传递到另一个站点共用,从而解决跨站用户唯一性的问题,具体的配置图解如图3-44,图3-45所示: 图3

CSRF 跨站

目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为:one click attack/session riding,缩写为:CSRF/XSRF. CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全

利用 onload 事件监控跨站资源

用过 CSP 的都很郁闷,上报的只有违规的站点名,却没有具体路径.这是缺陷,还是特意的设计? 显然,CSP 是为安全定制的,里面的规范自然要严格制定,否则就会带来新的安全问题.如果支持详细路径的上报,那又会引出什么问题? 由于 CSP 会上报所有的请求,甚至包括重定向的,因此可以用来探测重定向后的地址.假如已登录的用户访问 login.xx.com 会重定向到 xx.com/username,那么攻击者设计一个只允许重定向前的规则的页面,用户访问后,重定向后的 URL 就会当做违规地址上报给攻击

IIS7中的站点、应用程序和虚拟目录详细介绍 (转)

这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录 (virtual directory)概念与作用,已及这三个东西在IIS6与IIS7中的异同.因为站点,应用程序和虚拟目录是我们在IIS上架设网站时肯定会遇到的, 但它们的概念又是那么的含糊(至少对我来说).我在网上找了一些资料来学习,其中一个写的比较详细的是:Understanding Sites, Applications, and Virtual Directorie

Windows下Nginx Virtual Host多站点配置详解

Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 windows7配置Nginx+php+mysql教程. 先说明一下配置多站点的目的:在生产环境中,如果将系统所有代码文件都放在公开目录中,则很容易被查看到系统源码,这样是很不安全的,所以需要只公开index.php的入口文件目录.而同一个服务器中,可能运行多个系统,这样就必须公开多个入口文件目录,以便用不同的

nginx指令中的优化(配置文件)

nginx指令中的优化(配置文件)worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数.worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu.worker_rlimit_nofile 102400; 这个指令是指当一个

使用Nginx反向代理Flask站点

Nginx实际上只能处理静态资源请求,那么对于动态请求怎么做呢.这就需要用到Nginx的upstream模块对这些请求进行转发,即反向代理.这些接收转发的服务器可以是Apache.Tomcat.IIS等.示意图如下: 现在对一个Python Flask的站点进行反向代理设置,站点的源码存放在Github.在本机Min17中目录如下: / +- srv/ +- www/ +- GoLink/ <-- Web App根目录 +- www/ | +- static/ <-- 存放静态资源文件 | +