搜尋
首頁php教程php手册解读php.ini的基本概念和配置方法

解读php.ini的基本概念和配置方法

Jun 13, 2016 am 11:06 AM
php.ini基本概念字串學習引號我們數位方法解讀配置

我们在学习1. 用引号界定的字符串(如:”foo”)

2. 一个数字(整数或浮点数,如:0,1,34,-1,33.55)

3. 一个PHP常量(如:E_ALL,M_PI)

4. 一个INI常量(On,Off,none)

5. 一个表达式(如:E_ALL & ~E_NOTICE)

还有另外一个是设置布尔值,1为On就是开启,0为Off就是关闭。php.ini分了很多部分,例如:模块部分,PHP全局配置,数据库配置,等等。了解了基本的概念以后我们就可以开始变态配置之旅。

第一个重要的参数是register_globals. 这个配置影响到PHP如何接收传递过来的参数,说白了register_globals的意思就是注册为全局变量,所以当该参数为值On的时候,传递过来 的值会被直接的注册为全局变量直接使用,而当该参数值为Off的时候,我们需要到从特定的数组里去得到它。从www.milw0rm.com很多的PHP漏洞来看一大部分是因为Register_Globals为On的时候被利用的,所以强烈推荐将这个参数修改成Off,PHP目前的最高版中此参数都是默 认是Off的,没啥说的了,如果你用的版本比较老的话一定要修改这里。

第二个重要的参数是magic_quotes_gpc。如果你把magic_quotes_gpc设置成了Off,那么PHP就不会对4种字符 ‘ (单引号), ” (双引号), (反斜线) 和 空字符进行转义,那这样的话就会造成服务器可能会被非法注入的可能。但是如果你把Magic_quotes_gpc设置成On的话,PHP就会 给$_POST,$_GET,$_COOKIE提交的变量中如果有上面四种字符的话就会加上反斜扛.这样就会大大地提高PHP的安全性。强烈推荐将 Magic_quotes_gpc设置为On。

第三个比较重要的是display_errors。为什么说这个参数重要呢,因为没有不会犯错误的开发者,PHP的 display_errors参数就是帮助开发者定位和确定这些错误的。可是如果PHP提供的这些信息被黑客了解到的话,这就不妙了。比如某国库的网站,因为对display_errors没有进行设置,导致web目录泄露。这对于黑客来说可是非常重要的信息,因为很多时候的渗透都需要知道web 目录,例如webshell的写入等等。所以我们强烈推荐大家把这个参数设置成Off。

第四个重要的参数就是safe_mode,就是我们常说的安全模式。PHP的安全模式是个非常重要的内嵌的安全机制,能够控制一些PHP中的函 数,比如system()等函数,同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的访问,比如/etc/passwd,但是默认的 php.ini是没有打开安全模式的,我们把它打开。safe_mode = on。

第五个参数是open_basedir,使用open_basedir选项能够控制PHP脚本只能访问指定的目录,这样能够避免PHP脚本访问 不应该访问的文件,一定程度上限制了webshell的危害,我们一般可以设置为只能访问网站目录(假设网站目录为 E:test):open_basedir = E:test 第六个参数是disable_functions,使用disable_functions可以限制一些对于系统来说威胁很大的函数。

例如,我们在第一部分中看到的有PHPinfo()函数的网页中可以看到关于PHP的环境变量等。还有可以利用system,exec等函数来 执行系统命令等等。这里我们推荐过滤的函数如下。disable_functions = PHPinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,

proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,

popepassthru,stream_socket_server。 大家如果对某个函数不了解的话,可以google搜索得到函数的作用,然后来决定您自己的服务器是否禁止掉。

第七个参数是Com组件。Windows平台下的PHP脚本平台存在一个安全漏洞,使得PHP设置即使在安全模式下(safe_mode),仍 旧允许攻击者使用COM()函数来创建系统组件来执行任意命令。漏洞出现的原因是由于在安全模式下的PHP平台虽然system();pathru()函 数被禁止,但是com.allow_dcom的设置依旧是为true。以至于攻击者可以使用COM()函数创建系统组件对象来运行系统命令。

如果是默认的Apache设置或者Web服务器以Loacalsystem权限或Administrators权限运行,攻击者可以使用这个漏 洞来提升权限。所以我们必须要关闭掉com.allow_dcom这个参数默认是True,我们需要吧这个参数修改成 com.allow_dcom=false。第八个参数是expose_PHP。这个参数决定是否暴露 PHP 被安装在服务器上。如果这个参数设置为On的话就会把PHP的版本等泄露出来了。我们的推荐值是Off。

基本上的参数我们就介绍完了,当然php.ini还需要配置,大部分设置跟安全是没有关系的,很大一部分都跟PHP运行的效果(例如优化)等有 关系,如果大家有兴趣的话可以自己参考一下PHP的官方手册来具体了解一下。注意:修改完php.ini以后,必须重新启动IIS,不然你设置的内容不会 即时生效。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。