php.ini配置中有3處設(shè)置可能導(dǎo)致網(wǎng)站安全出問題。那么是哪三處呢?跟著小編一起往下看吧。一定會(huì)對你們有所幫助的。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比成武網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式成武網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋成武地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。首先大家都知道所有的PHP源碼網(wǎng)站都必須配置環(huán)境,不論是使用集成環(huán)境還是自己手動(dòng)搭建,可能很少有人關(guān)注過php.ini
里面配置的這些東西到底有什么作用,很多站長在設(shè)置php.ini文件時(shí),都是網(wǎng)上找一個(gè)教程,然后人家說哪里增加哪里刪除按步驟進(jìn)行,但是這里面的設(shè)置還真有兩處會(huì)引起網(wǎng)站安全問題。
有人會(huì)說就一個(gè)php.ini
文件怎么可能會(huì)有安全問題呢,難不成hiker會(huì)攻擊的我php.ini
文件不成?
這倒不是啦,而是運(yùn)行方式會(huì)給hiker提供一個(gè)窗口,請看下面的配置步驟說明。
以windows
系統(tǒng)上安裝PHP
為例,所有版本的php.ini
文件的設(shè)置幾乎都是一樣的,先去官方網(wǎng)站下載需要的PHP版本,然后解壓縮并重命名。
假設(shè)安裝php7.4
,安裝在服務(wù)器" target="_blank" href="http://undefined">服務(wù)器的D盤根目錄:下載Non-Thread Safe (NTS) 版本的PHP程序,然后解壓縮,并重命名為“php”文件夾,將其拷貝到D盤根目錄下面。
打開D:\php
下的php.ini-development
文件,復(fù)制一份并將其重命名為php.ini
,打開D:\php\php.ini
文件,下面是完整的配置過程。
1、將short_open_tag = Off
改為
short_open_tag = On
這樣修改的作用是一些網(wǎng)站的模板文件中使用了如 ?>這樣的php代碼,可保證代碼可以正常執(zhí)行,在ecshop、dedecms和WordPress等模板中也都常見于這類代碼。
2、將expose_php = On
,將其改為
expose_php = Off
作用是出于網(wǎng)站安全,禁止顯示php的版本號,防止別人針對特定php版本漏洞攻擊網(wǎng)站。有的網(wǎng)站你用站長工具一查,使用的是什么web服務(wù)器、PHP版本是多少都一目了然,對于特定的PHP版本漏洞,hiker當(dāng)然是知道的,隱藏版本號雖不能說解決了問題,但是會(huì)給hiker增加難度。
3、查找如下代碼
; On windows: ; extension_dir = "ext"
將這里的extension_dir前面的分號去掉,并且把ext修改為PHP的安裝路徑,如下所示。注意斜杠不要寫反了,因?yàn)槲野裀HP安裝在D盤的。
extension_dir = "D:\php\ext"
4、查找max_execution_time = 30
,將數(shù)字30
修改為300
或1200
。作用是每個(gè)腳本執(zhí)行的大時(shí)間,默認(rèn)是30秒,解決可能因?yàn)榫W(wǎng)速和服務(wù)器的地址(如國外主機(jī))可能會(huì)總是連接超時(shí)的問題。
5、搜索;cgi.force_redirect = 1
,把前面的分號去掉,并把數(shù)字1
改為0
。cgi.force_redirect = 0
的意思就是關(guān)閉重定向執(zhí)行php文件,出于安全考慮防止別人上傳木馬執(zhí)行如:你的網(wǎng)站url/as=你的網(wǎng)站url/sdf/muma.php
,這樣的重定向PHP文件是可執(zhí)行的,將這個(gè)配置改為0之后這類型的重定向PHP文件就不會(huì)執(zhí)行了。
這也是為什么有的網(wǎng)站總是被掛馬的原因,這樣修改之后即便是網(wǎng)站前臺存在安全漏洞,被hiker上傳了木馬文件,通過這樣的方式木馬文件不會(huì)運(yùn)行,所以沒有用。
6、查找代碼;cgi.fix_pathinfo=1
將分號去掉并將數(shù)字1
改為0
。作用是禁止解析非法php文件,如/a.jpg/1.php
這樣的圖片下的一個(gè)php文件屬于非法的,設(shè)置為0就是禁止執(zhí)行。這種將木馬偽裝成圖片上傳的文件存在已久,禁止這類文件運(yùn)行,即使被上傳了木馬,由于設(shè)置了不允許運(yùn)行,所以沒有用。
7、查找代碼fastcgi.impersonate = 1
將前面的分號去掉。作用是iis
或nginx
使用的是fastcgi
方式解析php文件,不開啟就不能運(yùn)行php程序,Apache則不用開啟。
8、搜索 cgi.rfc2616_headers = 0
去掉分號并把0
改為1
。意思是告訴php使用什么樣的報(bào)頭,什么是報(bào)頭呢?就像這個(gè):HTTP/1.1
。
9、搜索upload_tmp_dir =
,將前面的分號刪除并添加路徑如下:
upload_tmp_dir = D:\php\temp
意思是上傳文件的臨時(shí)目錄,用來存放網(wǎng)站上傳文件的臨時(shí)虛擬目錄,但是不會(huì)真的上傳任何文件在里面。
10、分別搜索以下代碼,一行一個(gè),分別去掉其前面的分號(分號表示注釋,不生效的意思,去掉就生效了):
extension=bz2 extension=curl extension=gd2 extension=gmp extension=mbstring extension=php_mysql" target="_blank" href="http://undefined">mysql.dll extension=mysqli extension=pdo_mysql
11、查找date.timezone =
刪除分號并修改為如下這樣:
date.timezone = Asia/Shanghai
注意大小寫,意思是格式化時(shí)間,默認(rèn)使用北京時(shí)間(東8區(qū)),這樣可以使服務(wù)器時(shí)間和程序的時(shí)間一致,否則可能你發(fā)文章顯示的時(shí)時(shí)間會(huì)和實(shí)際時(shí)間不一樣,如果不設(shè)置時(shí)間可能會(huì)相差8小時(shí),也可以設(shè)置為date.timezone = PRC
,設(shè)置時(shí)區(qū)為中國時(shí)區(qū),PRC是中國時(shí)區(qū)的簡稱。
以上就是完整的php.ini文件配置,真的有3處設(shè)置和網(wǎng)站的安全有關(guān)系,由于這個(gè)文件一般只會(huì)設(shè)置一次,之后都不會(huì)去更改,所以有的問題也不容易被發(fā)現(xiàn)。
以上就是php.ini配置中有3處設(shè)置可能導(dǎo)致網(wǎng)站安全出問題的詳細(xì)內(nèi)容,你們了解了嗎?如果想了解更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!