一、屏蔽PHP错误信息 在配置文件中,设置display_errors=On,开启了PHP错误显示,在PHP程序遇到错误时,会暴露PHP文件和系统路径,从而容易被威胁,我们需要设置: ;默认开启 ;Default...之后的版本,官方已经将该配置去除: register_blobals=Off 四、PHP的访问限制 1.文件系统限制 配置 open_basedir 来限制PHP访问文件系统的位置: ;限定PHP的访问目录为...开启完全模式 PHP的安全模式是为视图解决共享服务器(shared-server)的安全问题而设立的,开启之后,会对系统操作、文件、权限设置等方法产生影响,减少被黑客植入webshell所带来的安全问题...,从而在一定程度上避免一些未知的攻击 ;开启安全模式 safe_mode=On safe_mode_gid=Off 设置后,所有命令执行函数都被限制只能执行safe_mode_exec_dir指定目录里的程序...性能的同时,也增加了安全性,使用 php -m 命令可以查看当前 PHP 所加载的模块
,在PHP5.6之后的版本,官方已经将该配置去除: register_blobals=Off 四、PHP的访问限制 1.文件系统限制 配置 open_basedir 来限制PHP访问文件系统的位置: ;...限定PHP的访问目录为 /home/web/php/ open_basedir=/home/web/php/ 2.远程访问限制 allow_url_fopen 开启时,允许系统从远程检索数据,然而这个方法会给程序造成一个很大的漏洞...PHP的安全模式是为视图解决共享服务器(shared-server)的安全问题而设立的,开启之后,会对系统操作、文件、权限设置等方法产生影响,减少被黑客植入webshell所带来的安全问题,从而在一定程度上避免一些未知的攻击...;开启安全模式 safe_mode=On safe_mode_gid=Off 设置后,所有命令执行函数都被限制只能执行safe_mode_exec_dir指定目录里的程序,例如shell_exec()...本文链接:https://www.xy586.top/11480.html 转载请注明文章来源:行云博客 » PHP安全配置
php安全配置 PHP 4.1~5.4,需要关闭register_globals 关闭错误显示 范例 System Linux 98.199-245-23.rdns.scalabledns.com 2.6.32.../configure’ ‘–prefix=/usr/local/php’ ‘–with-config-file-path=/usr/local/php/etc’ ‘–enable-fpm’ ‘–with-fpm-user...) Path /usr/local/php/etc Loaded Configuration File /usr/local/php/etc/php.ini Scan this dir for additional...On On extension_dir /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525 /usr/local/php/lib/php...:/usr/local/php/lib/php .
PHP配置文件指令多达数百项,为了节省篇幅,这里不对每个指令进行说明,只列出会影响PHP脚本安全的配置列表以及核心配置选项。 详细参阅官方文档,关于php.ini的配置选项列表。...但是,这些PHP默认自带的wrapper和filter都可能通过php.ini配置禁用,所以在具体情况还要具体分析。...file=http://test1/index.php,就能看到页面回显了ok,远程读取并执行了test1的index.php,这个配置选项对于PHP安全的影响不可小觑,在使用的时候必须慎之又慎。...当文件位于指定的目录树之外时,PHP 将拒绝访问它。在 Windows 中,用分号分隔目录。在所有其它系统上,用冒号分隔目录。...当使用open_basedir配置目录后,执行脚本访问其他文件都需要验证文件路径,因此在执行效率上面也会有⼀定的影响。 disable_functions 本指令可用于禁止某些函数。
,从一定程度上限制了php木马的危害,需设置php只能访问网站目录或者其他必须可访问的目录。.../usr/local/apache2/web/为网站根目录,打开php.ini,安全加固配置方式如下: open_basedir = /usr/local/apache2/web/ 需要多个目录时,以冒号隔开如...打开php.ini,安全加固配置方式如下,关闭注册全局变量设置: register_globals = Off ? 注:默认php配置文件该选项是关闭的。 PHP 5.3.*与5.4....打开php.ini,安全加固配置方式如下,关闭错误信息显示设置: display_errors = Off ?...注:如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:safe_mode_exec_dir = D:/usr/bin PHP 5.3.*与5.4.*中已被移除。
由于脚本语言和早期版本设计的诸多原因,php项目存在不少安全隐患。从配置选项来看,可以做如下的优化。 1.屏蔽PHP错误输出。...在/etc/php.ini(默认配置文件位置),将如下配置值改为Off display_errors=Off 不要将错误堆栈信息直接输出到网页上,防止黑客加以利用相关信息。...4.文件系统限制 可以通过open_basedir来限制PHP可以访问的系统目录。 如果不限制使用下面的脚本代码(hack.php)可以获取到系统密码。 <?...allow_url_fopen=Off allow_url_include=Off 其他第三方安全扩展 6.Suhosin。 Suhosin是一个PHP程序的保护系统。...跨应用程序使用Cookie:不正确配置的应用程序可能具有相同的会话存储,如所有会话默认存储在/tmp目录下,一个应用程序的cookie可能永远不会被重新用于另一应用,只要加密密钥不同。
因为配置不当引发的安全问题是屡见不鲜的,通过一系列的安全配置,可以很好的解决一些安全隐患,从而为系统增加安全系数。但是在开发过程中,因为需求的改变和编程的习惯可能会更改一些配置同时带来安全隐患。...配置规范:开启安全模式,会对程序带来一定安全性,不过同时也会限制一些功能的使用,如何取舍,还是要具体分析。 功能描述:限制函数使用权限和操作目录文件权限等功能。检验用户是否有操作文件权限。...比如:如果要在安全模式下包含某些公共文件,可以选用它的子配置 safe_mode_include_dir = D:/phpstudy/www/include/ 0×08 open_basedir 这个是目录权限的控制...,开启可以增加安全系数,但是会影响到性能,因为每次有对目录操作权限的地方都会判断这个地方,如何取舍需要具体分析。...DocumentRoot 是配置web根目录,Directory控制目录权限。 总结:首先我们都清楚安全不是绝对的,不是仅仅配置了这些文件就能保证你的程序绝对安全。
关于Nginx配置基础知识,PHP用FastCGI,在Apache里,有alias,比较方便,在Nginx下没有虚拟目录概念的,是用location配合alias使用,但使用alias标签的目录块中不能使用...一、例子说明: 1)我的环境是:web根目录在 /var/www/html/中,但是我要加上一个类似于apache的别名目录 /bbs ,此目录不在 web根目录中。...我的配置文件如下: server { listen 80; server_name localhost; default_type text/plain; ...~ ^/bbs/.+\.php$ {} 里面也可以写成如下: location ~ ^/bbs/.+\.php$ { root /opt; fastcgi_pass ...fastcgi_params; } 也就是用变量名 $document_root 代替 /opt; 其实每个 location {}中的 $document_root 都是局部变量,都是在本段配置
代码: '; echo '目录名:'.dirname($path); */ $array_path = pathinfo($path); echo $array_path['extension
虚拟目录的配置 要更改虚拟目录的位置,需要到apache的配置文件中更改(conf/httpd.conf) 修改上图的www文件夹路径就可以修改虚拟目录了,如果修改不成功就百度找找其他办法,我学的是旧版本的...文件权限修改方式: Options +Indexes +FollowSymLinks +ExecCGI //允许将目录结构用索引的方式展开 AllowOverride...all Deny from all # 拒绝所有请求访问 Order allow,deny Deny from all Allow from all # 拒绝所有请求访问 <Directory "C:/PHP...193.168.20.36 Deny from 193.168 # 拒绝193.168段ip的访问,但允许193.168.20.36的访问 <Directory "C:/PHP...allow Allow from 193.168.20.36 Deny from all # 只允许193.168.20.36的访问 <Directory "C:/PHP
背景 在 PHP 安全测试中最单调乏味的任务之一就是检查不安全的 PHP 配置项。...作为一名 PHP 安全海报的继承者,我们创建了一个脚本用来帮助系统管理员如同安全专家一样尽可能快速且全面地评估 php.ini 和相关主题的状态。...在下文中,该脚本被称作“PHP 安全配置项检查器”,或者 pcc。...WEB: 复制这个脚本文件到你的服务器上的任意一个可访问目录,比如 root 目录。参见下面的“防护措施”。 在非 CLI 模式下默认输出 HTML 格式。...保障措施 大多数情况下,最好是自己来关注与安全性相关的问题比如PHP的配置。脚本已实现下列保障措施: mtime检查:脚本在非CLI环境中只能工作两天。
笔记内容: 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置 笔记日期: 11.28 限定某个目录禁止解析php ?...如果我们的网站有一个目录,可以上传图片,可能保不准有些别有用心的人会通过一些手段,上传php文件到这个目录下。...如果这个页面被外部的***访问到的话,就能看到你服务器上的一些目录。那么***获取到了这些信息后,就可以更容易的进行***。 所以为了安全起见也要把phpinfo给禁止掉: ?...配置php.ini文件: ? 我现在故意把目录写成1111.com,模拟一下这种情况: ? 这时使用curl命令去访问就会出现500状态码: ?...但是配置php.ini的open_basedir并没有意义,因为这样的配置只能是配置全部站点的,因为所有的站点都放在一个目录下,不能针对单个站点去做,所以和没有配置没差别,例如只能这样配置,但是没有意义
限定某个目录禁止解析php: 对于使用php语言编写的网站,有一些目录是有需求上传文件的。...为了避免这种情况发生,我们需要把能上传文件的目录直接禁止解析PHP代码 1.编辑虚拟主机配置 #进入虚拟主机配置文件 [root@aminglinux 111.com]# vim /usr/local.../local/php7/etc/php.ini 修改php配置文件 1.disable_functions 安全函数,以下函数会直接调去linux系统命令,开放将会很危险,因此要禁掉。...在安全函数后面添加phpinfo,重启生效后用浏览器访问。因为不禁止的话,在网页上就会显示很多我们的目录信息。 2. date.timezone 定义时区。...其它的也有可能被连累 open_basedir就刚好能解决这个问题,它的作用是将网站限定在指定目录里,就算被黑也波及不到其他目录 php.ini文件中的内容是针对所有虚拟主机进行的配置 1.修改配置文件
下面通过修改默认的配置文件加强PHP的安全策略!...… 显然,我们不希望用户可以直接获取你网站服务器的PHP版本,幸运的是,在php.ini中有个开关可以禁用这个功能: 复制代码 代码如下: expose_php = Off 0x07**:安全模式配置*...* 在默认的情况下,php可以配置为安全模式,在这种模式下,Apache禁止访问文件、环境变量和二进制程序,在安全模式下,存在的最大问题就是只有文件的所有者才能访问这写PHP文件,如果有很多开发者共同开发这个程序...在这些特殊的情形下,可以将二进制文件放进一个目录中,比如(/var/www/binaries),可以做如下设置: 复制代码 代码如下: safe_mode_exec_dir = /var/www/binaries...0x09**:总结** PHP的默认配置是面向开发者的,如果网站面向广大的用户,建议重新配置PHP。
通常部署完php环境后会进行一些安全设置,除了熟悉各种php漏洞外,还可以通过配置php.ini来加固PHP的运行环境,PHP官方也曾经多次修改php.ini的默认设置。...下面对php.ini中一些安全相关参数的配置进行说明 register_globals 当register_globals = ON时,PHP不知道变量从何而来,也容易出现一些变量覆盖的问题。...open_basediropen_basedir 可以限制PHP只能操作指定目录下的文件。这在对抗文件包含、目录遍历等攻击时非常有用,应该为此选项设置一个值。...需要注意的是,如果设置的值是一个指定的目录,则需要在目录最后加上一个“/”,否则会被认为是目录的前缀。...------------------------Nginx+Php中限制站点目录防止跨站的配置方案记录(使用open_basedir)------------------- 方法1)在Nginx配置文件中加入
根目录: / 这个目录包含的东西比较多,主要包含一些说明文件以及设计方案。...ext 官方扩展目录,包括了绝大多数PHP的函数的定义和实现,如array系列,pdo系列,spl系列等函数的实现,都在这个目录中。个人写的扩展在测试时也可以放到这个目录,方便测试和调试。...Zend Zend引擎的实现目录,比如脚本的词法语法解析,opcode的执行以及扩展机制的实现等等。 pear “PHP 扩展与应用仓库”,包含PEAR的核心文件。...TSRM PHP的线程安全是构建在TSRM库之上的,PHP实现中常见的*G宏通常是对TSRM的封装,TSRM(Thread Safe Resource Manager)线程安全资源管理器。...tests PHP的测试脚本集合,包含PHP各项功能的测试文件 win32 这个目录主要包括Windows平台相关的一些实现,比如sokcet的实现在Windows下和*Nix平台就不太一样,同时也包括了
介绍 这个页面的目的是为了帮助那些配置 PHP 和运行它的 web 服务器的人确保它的安全性。 下面你将找到有关 php.ini 文件的正确配置信息。...你还应该运行 PHP 7.2 或者更高版本。如果你运行的版本是 PHP 7.0 和 PHP 7.1 ,你将在下面的几个地方使用略有不同的值(看内联的注释)。...最后,查看 PHP 文档 以获得关于 php.ini 配置文件中每个值的参考。 你可以在一个现成的 php.ini 文件中找到以下配置的副本 此处 。.../PHP-scripts/ include_path = /path/PHP-pear/ extension_dir = /path/PHP-extensions...7.0-7.1 更多的安全隐患的检查 session.referer_check = /application/path memory_limit = 50M post_max_size
PHP取目录所有文件,过滤了".."与"." 将查到的文件放到files数组。 $handle = @opendir('目录') OR die('path error!')
内置函数 glob函数 详解 http://www.w3school.com.cn/php/func_filesystem_glob.asp
V站笔记 $handle = @opendir('目录') OR die('path error!')
领取专属 10元无门槛券
手把手带您无忧上云