首頁 web前端 js教程 提升PHP安全:8個必須修改的PHP預設配置_javascript技巧

提升PHP安全:8個必須修改的PHP預設配置_javascript技巧

May 16, 2016 pm 04:31 PM
php安全

很明顯,PHP Mysql Apache是​​很流行的web技術,這個組合功能強大,可擴充性強,還是免費的。然而,PHP的預設設定對已經上線的網站不是那麼適合。以下透過修改預設的設定檔加強PHP的安全性策略!

0x01:停用遠端url檔案處理功能

像fopen的檔案處理函數,接受檔案的rul參數(例如:fopen('http://www.yoursite.com','r')).),這個功能可以很輕鬆的存取遠端資源,然而,這是一個很重要的安全威脅,禁用這個功能來限製file function是個不錯的選擇,在php.ini檔案中做以下修改:

複製程式碼 程式碼如下:

allow_url_fopen = Off

0x02:停用註冊全域變數

php在4.2.0以前的版本中,用全局變量作為輸入,這個功能叫做register_globals,在web應用中它引起了很多安全問題,因為它允許攻擊者在一些情況下很容易的操作全局變量,幸運的是在4.2.0這個功能預設被停用,它非常的危險,無論在什麼情況下都要禁用這個功能。如果某些腳本需要這個功能,那麼這個腳本就存在潛在的安全威脅。修改pnp.ini來停用這個功能:

複製程式碼 程式碼如下:

register_globals = Off

0x03:限制php的讀寫操作

在許多web開發的過程中,php腳本需要對本機檔案系統進行讀寫操作,例如/var/www/htdocs/files,為了加強安全,你可以修改本機檔案的讀寫權限:

複製程式碼 程式碼如下:

open_basedir = /var/www/htdocs/files

0x04:Posing Limit

限制PHP的執行時間、記憶體使用量、post和upload的資料是最好的策略,可以做以下的設定:

複製程式碼 程式碼如下:

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:停用錯誤訊息和啟用日誌功能

在預設設定中,php會向瀏覽器輸出錯誤訊息,在應用程式的開發過程中,這個預設設定是最合理的配置,然而,它也可以向使用者洩漏一些安全訊息,例如安裝路徑和使用者名稱.在已經開發完成的網站中,最好停用錯誤訊息然後把錯誤訊息輸出到日誌檔案中。

複製程式碼 程式碼如下:

display_errors = Off
log_errors = On

0x06:隱藏PHP檔案

 如果沒有隱藏PHP文件,我們可以透過多種方法取得伺服器PHP的版本,例如使用:http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3-A3A9- 4C7B08C10000

顯然,我們不希望使用者可以直接取得你網站伺服器的PHP版本,幸運的是,在php.ini有個開關可以停用這個功能:

複製程式碼 程式碼如下:

expose_php = Off

0x07:安全模式配置

在預設的情況下,php可以配置為安全模式,在這種模式下,Apache禁止存取檔案、環境變數和二進位程序,在安全模式下,存在的最大問題就是只有檔案的擁有者才能存取這寫PHP文件,如果有很多開發者共同開發這個程序,這樣的設定就不切實際,當你需要訪問一個PHP文件時就需要修改這個文件的所有者,另外一個問題就是其它程序也不能訪問這些PHP文件,下面的配置就可以修改文件的權限為使用者群組而不是單一使用者。

複製程式碼 程式碼如下:

safe_mode = Off
safe_mode_gid = On

透過啟用safe_mode_gid,能夠使用Apache的這個群組就能夠存取PHP檔案。安全模式對阻止二進位檔案的執行也非常有效,然而,開發者卻希望在某些特定情況下能夠運行一些二進位檔案。在這些特殊的情況下,可以將二進位檔案放進一個目錄中,例如(/var/www/binaries),可以做以下設定:

複製程式碼 程式碼如下:

safe_mode_exec_dir = /var/www/binaries

最後,透過下面的設置,可以存取伺服器的環境變量,提供一個以」_「分割的前綴,這樣只能存取具有規定前綴的環境變數:

複製程式碼 程式碼如下:

safe_mode_allowed_env_vars = PHP_

0x08:限制公用使用者對具有特定後綴名的檔案的存取

由於安全的原因,許多具有特定後綴名的文件不能被公共用戶所訪問,比如.inc後綴的文件,裡麵包含了一些敏感的信息,比如mysql連接信息,如果沒有適當的配置,那麼每個使用者都能存取這個設定文件,為了加強網站的安全,你需要在. .htaccess檔案進行如下的設定:

複製程式碼 程式碼如下:


  Order allow,deny
  Deny from all

0x09:總結

PHP的預設配置是面向開發者的,如果網站面向廣大的用戶,建議重新配置PHP。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP安全防護:防範身分偽造攻擊 PHP安全防護:防範身分偽造攻擊 Jun 24, 2023 am 11:21 AM

隨著網路的不斷發展,越來越多的業務涉及線上互動以及資料的傳輸,這就不可避免地引起了安全問題。其中最常見的攻擊手法之一就是身分偽造攻擊(IdentityFraud)。本文將詳細介紹PHP安全防護中如何防範身分偽造攻擊,以保障系統能有更好的安全性。什麼是身分偽造攻擊?簡單來說,身分偽造攻擊(IdentityFraud),也就是冒名頂替,是指站在攻擊者

PHP中的安全審計指南 PHP中的安全審計指南 Jun 11, 2023 pm 02:59 PM

隨著Web應用程式的日益普及,安全審計也變得越來越重要。 PHP是一種廣泛使用的程式語言,也是許多網頁應用程式的基礎。本文將介紹PHP中的安全審計指南,以協助開發人員編寫更安全的Web應用程式。輸入驗證輸入驗證是Web應用程式中最基本的安全特性之一。雖然PHP提供了許多內建函數來對輸入進行過濾和驗證,但這些函數並不能完全保證輸入的安全性。因此,開發人員需要

如何解決PHP開發中的安全漏洞與攻擊面 如何解決PHP開發中的安全漏洞與攻擊面 Oct 09, 2023 pm 09:09 PM

如何解決PHP開發中的安全漏洞和攻擊面PHP是常用的Web開發語言,然而在開發過程中,由於安全問題的存在,很容易被駭客攻擊和利用。為了確保網路應用程式的安全性,我們需要了解並解決PHP開發中的安全漏洞和攻擊面。本文將介紹一些常見的安全漏洞和攻擊方式,並給出具體的程式碼範例來解決這些問題。 SQL注入SQL注入是指透過在使用者輸入中插入惡意的SQL程式碼,從而以

PHP語言開發中避免跨站腳本攻擊安全隱患 PHP語言開發中避免跨站腳本攻擊安全隱患 Jun 10, 2023 am 08:12 AM

隨著網路技術的發展,網路安全問題越來越受到關注。其中,跨站腳本攻擊(Cross-sitescripting,簡稱XSS)是常見的網路安全隱患。 XSS攻擊是基於跨站點腳本編寫,攻擊者將惡意腳本注入網站頁面,透過欺騙使用者或透過其他方式植入惡意程式碼,獲取非法利益,造成嚴重的後果。然而,對於PHP語言開發的網站來說,避免XSS攻擊是一項極為重要的安全措施。因

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

PHP和Typecho的最佳實踐:建立安全可靠的網站系統 PHP和Typecho的最佳實踐:建立安全可靠的網站系統 Jul 21, 2023 am 10:42 AM

PHP和Typecho的最佳實踐:建立安全可靠的網站系統【引言】如今,網路已成為人們生活的一部分。為了滿足使用者對網站的需求,開發人員需要採取一系列安全措施來建立安全可靠的網站系統。 PHP是一種廣泛使用的開發語言,Typecho是一種優秀的部落格程序,本文將介紹如何結合PHP和Typecho的最佳實踐,建立安全可靠的網站系統。 【1.輸入驗證】輸入驗證是構建

PHP程式碼重構與修復常見安全漏洞 PHP程式碼重構與修復常見安全漏洞 Aug 07, 2023 pm 06:01 PM

PHP程式碼重構並修復常見安全漏洞導語:由於PHP的靈活性和易用性,它成為了一個廣泛使用的伺服器端腳本語言。然而,由於缺乏正確的編碼和安全意識,許多PHP應用程式存在各種安全漏洞。本文旨在介紹一些常見的安全漏洞,並分享一些PHP程式碼重構和修復漏洞的最佳實務。 XSS攻擊(跨站腳本攻擊)XSS攻擊是最常見的網路安全漏洞之一,攻擊者透過在網路應用程式中插入惡意腳本

PHP安全防護:防止惡意BOT攻擊 PHP安全防護:防止惡意BOT攻擊 Jun 24, 2023 am 08:19 AM

隨著網路的快速發展,網路攻擊的數量和頻率也不斷增加。其中,惡意BOT攻擊是一種非常常見的網路攻擊方式,它透過利用漏洞或弱密碼等方式,獲取網站後台登入信息,然後在網站上執行惡意操作,如篡改數據、植入廣告等。因此,對於使用PHP語言開發的網站來說,加強安全防護措施,特別是在防止惡意BOT攻擊方面,就顯得非常重要。一、加強口令安全口令安全是防範惡意BOT攻擊的

See all articles