欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

提升PHP安全:8個(gè)必須修改的PHP默認(rèn)配置

 更新時(shí)間:2014年11月17日 10:58:44   投稿:junjie  
這篇文章主要介紹了提升PHP安全:8個(gè)必須修改的PHP默認(rèn)配置,PHP.ini中的默認(rèn)配置是面向開(kāi)發(fā)者的,如果是生產(chǎn)環(huán)境是必須要修改一些配置的,需要的朋友可以參考下

很明顯,PHP+Mysql+Apache是很流行的web技術(shù),這個(gè)組合功能強(qiáng)大,可擴(kuò)展性強(qiáng),還是免費(fèi)的。然而,PHP的默認(rèn)設(shè)置對(duì)已經(jīng)上線的網(wǎng)站不是那么適合。下面通過(guò)修改默認(rèn)的配置文件加強(qiáng)PHP的安全策略!

0x01:禁用遠(yuǎn)程url文件處理功能

像fopen的文件處理函數(shù),接受文件的rul參數(shù)(例如:fopen('http://www.yoursite.com','r')).),這個(gè)功能可以很輕松的訪問(wèn)遠(yuǎn)程資源,然而,這是一個(gè)很重要的安全威脅,禁用這個(gè)功能來(lái)限制file function是個(gè)不錯(cuò)的選擇,在php.ini文件中做如下修改:

復(fù)制代碼 代碼如下:

allow_url_fopen = Off

0x02:禁用注冊(cè)全局變量

php在4.2.0以前的版本中,用全局變量作為輸入,這個(gè)功能叫做register_globals,在web應(yīng)用中它引起了很多安全問(wèn)題,因?yàn)樗试S攻擊者在一些情況下很容易的操作全局變量,幸運(yùn)的是在4.2.0這個(gè)功能默認(rèn)被禁用,它非常的危險(xiǎn),無(wú)論在什么情況下都要禁用這個(gè)功能。如果某些腳本需要這個(gè)功能,那么這個(gè)腳本就存在潛在的安全威脅。修改pnp.ini來(lái)禁用這個(gè)功能:

復(fù)制代碼 代碼如下:

register_globals = Off

0x03:限制php的讀寫操作

在很多web開(kāi)發(fā)的過(guò)程中,php腳本需要向本地文件系統(tǒng)進(jìn)行讀寫操作,比如/var/www/htdocs/files,為了加強(qiáng)安全,你可以修改本地文件的讀寫權(quán)限:

復(fù)制代碼 代碼如下:

open_basedir = /var/www/htdocs/files

0x04:Posing Limit

限制PHP的執(zhí)行時(shí)間、內(nèi)存使用量、post和upload的數(shù)據(jù)是最好的策略,可以做如下的配置:

復(fù)制代碼 代碼如下:

max_execution_time = 30  ; Max script execution time
max_input_time = 60      ; Max time spent parsing input
memory_limit = 16M       ; Max memory used by one script
upload_max_filesize = 2M ; Max upload file size
post_max_size = 8M       ; Max post size

0x05:禁用錯(cuò)誤消息和啟用日志功能

在默認(rèn)設(shè)置中,php會(huì)向?yàn)g覽器輸出錯(cuò)誤消息,在應(yīng)用程序的開(kāi)發(fā)過(guò)程中,這個(gè)默認(rèn)設(shè)置是最合理的配置,然而,它也可以向用戶泄漏一些安全信息,例如安裝路徑和用戶名。在已經(jīng)開(kāi)發(fā)完成的網(wǎng)站中,最好禁用錯(cuò)誤消息然后把錯(cuò)誤消息輸出到日志文件中。

復(fù)制代碼 代碼如下:

display_errors = Off
log_errors = On

0x06:隱藏PHP文件

 如果沒(méi)有隱藏PHP文件,我們可以通過(guò)多種方法獲取服務(wù)器PHP的版本,例如使用:http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

顯然,我們不希望用戶可以直接獲取你網(wǎng)站服務(wù)器的PHP版本,幸運(yùn)的是,在php.ini中有個(gè)開(kāi)關(guān)可以禁用這個(gè)功能:

復(fù)制代碼 代碼如下:

expose_php = Off

0x07:安全模式配置

在默認(rèn)的情況下,php可以配置為安全模式,在這種模式下,Apache禁止訪問(wèn)文件、環(huán)境變量和二進(jìn)制程序,在安全模式下,存在的最大問(wèn)題就是只有文件的所有者才能訪問(wèn)這寫PHP文件,如果有很多開(kāi)發(fā)者共同開(kāi)發(fā)這個(gè)程序,這樣的設(shè)置就不切實(shí)際,當(dāng)你需要訪問(wèn)一個(gè)PHP文件時(shí)就需要修改這個(gè)文件的所有者,另外一個(gè)問(wèn)題就是其它程序也不能訪問(wèn)這些PHP文件,下面的配置就可以修改文件的的權(quán)限為用戶組而不是單個(gè)用戶。

復(fù)制代碼 代碼如下:

safe_mode = Off
safe_mode_gid = On

通過(guò)啟用safe_mode_gid,能夠使用Apache的這個(gè)群組就能夠訪問(wèn)PHP文件。安全模式對(duì)阻止二進(jìn)制文件的執(zhí)行也非常有效,然而,開(kāi)發(fā)者卻希望在某些特定情形下能夠運(yùn)行一些二進(jìn)制文件。在這些特殊的情形下,可以將二進(jìn)制文件放進(jìn)一個(gè)目錄中,比如(/var/www/binaries),可以做如下設(shè)置:

復(fù)制代碼 代碼如下:

safe_mode_exec_dir = /var/www/binaries

最后,通過(guò)下面的設(shè)置,可以訪問(wèn)服務(wù)器的環(huán)境變量,提供一個(gè)以”_“分割的前綴,這樣只能訪問(wèn)具有規(guī)定前綴的環(huán)境變量:

復(fù)制代碼 代碼如下:

safe_mode_allowed_env_vars = PHP_

0x08:限制公共用戶對(duì)具有特定后綴名的文件的訪問(wèn)

由于安全的原因,很多具有特定后綴名的文件不能被公共用戶所訪問(wèn),比如.inc后綴的文件,里面包含了一些敏感的信息,比如mysql連接信息,如果沒(méi)有適當(dāng)?shù)呐渲?,那么每個(gè)用戶都能訪問(wèn)這個(gè)配置文件,為了加強(qiáng)網(wǎng)站的安全,你需要在. .htaccess文件進(jìn)行如下的配置:

復(fù)制代碼 代碼如下:

<filesmatch>
  Order allow,deny
  Deny from all
</filesmatch>

0x09:總結(jié)

PHP的默認(rèn)配置是面向開(kāi)發(fā)者的,如果網(wǎng)站面向廣大的用戶,建議重新配置PHP。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)購(gòu)物車代碼實(shí)例詳解

    微信小程序?qū)崿F(xiàn)購(gòu)物車代碼實(shí)例詳解

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)購(gòu)物車代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • javascript 代碼是如何被壓縮的示例代碼

    javascript 代碼是如何被壓縮的示例代碼

    這篇文章主要介紹了javascript 代碼是如何被壓縮的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • javascript+html5+css3自定義提示窗口

    javascript+html5+css3自定義提示窗口

    這篇文章主要為大家詳細(xì)介紹了javascript+html5+css3自定義提示窗口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • uniapp使用Vant-weapp的最新方法教程

    uniapp使用Vant-weapp的最新方法教程

    Vant?Weapp是有贊前端團(tuán)隊(duì)開(kāi)源的一套小程序UI組件庫(kù),助力開(kāi)發(fā)者快速搭建小程序應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于uniapp使用Vant-weapp的最新方法教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • JavaScript手寫實(shí)現(xiàn)一個(gè)簡(jiǎn)單的快捷鍵庫(kù)

    JavaScript手寫實(shí)現(xiàn)一個(gè)簡(jiǎn)單的快捷鍵庫(kù)

    前端開(kāi)發(fā)中,有時(shí)項(xiàng)目會(huì)遇到一些快捷鍵需求,比如綁定快捷鍵,展示快捷鍵,編輯快捷鍵等需求,所以本文就來(lái)用JavaScript手寫一個(gè)簡(jiǎn)單的快捷鍵庫(kù)吧
    2024-02-02
  • javascript 閉包詳解

    javascript 閉包詳解

    這篇文章主要詳細(xì)介紹了javascript 閉包的相關(guān)資料,十分詳盡,需要的朋友可以參考下
    2015-02-02
  • 常用javascript表單驗(yàn)證匯總

    常用javascript表單驗(yàn)證匯總

    這篇文章主要介紹了一些常用javascript表單驗(yàn)證,文章最后還附帶了一個(gè)實(shí)踐案例,以驗(yàn)證數(shù)字為例進(jìn)行講解,感興趣的小伙伴們可以參考一下
    2015-11-11
  • JS實(shí)現(xiàn)從表格中動(dòng)態(tài)刪除指定行的方法

    JS實(shí)現(xiàn)從表格中動(dòng)態(tài)刪除指定行的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)從表格中動(dòng)態(tài)刪除指定行的方法,通過(guò)getElementById獲取指定行再使用deleteRow方法來(lái)實(shí)現(xiàn)刪除行的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 基于bootstrap實(shí)現(xiàn)多個(gè)下拉框同時(shí)搜索功能

    基于bootstrap實(shí)現(xiàn)多個(gè)下拉框同時(shí)搜索功能

    這篇文章主要為大家詳細(xì)介紹了基于bootstrap實(shí)現(xiàn)多個(gè)下拉框同時(shí)搜索功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 基于JavaScript如何制作遮罩層對(duì)話框

    基于JavaScript如何制作遮罩層對(duì)話框

    遮罩層聽(tīng)起來(lái)貌似很復(fù)雜,其實(shí)說(shuō)白了就是一個(gè)全界面的半透明的div,用戶不可以點(diǎn)擊下邊的元素,或者說(shuō)是點(diǎn)擊沒(méi)有反應(yīng),接下來(lái)通過(guò)本文給大家介紹JavaScript如何制作遮罩層對(duì)話框,對(duì)js遮罩層相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01

最新評(píng)論