首頁 後端開發 php教程 php安全簡介與一般則

php安全簡介與一般則

Nov 22, 2016 am 10:52 AM
php php安全

簡介

PHP 作為一種強大的語言,無論是以模組還是 CGI 的方式安裝,它的解釋器都可以在伺服器上存取檔案、運行命令以及建立網路連線等。這些功能也許會為伺服器增加許多不安全因素,但只要正確地安裝和設定 PHP,以及編寫安全的程式碼,那麼 PHP 相對於 Perl 和 C 來說,是能創造出更安全的 CGI 程式的。而且,也可以在可用性和安全性之間找到一個很好的平衡。

PHP 可能會被用在許多不同的方面,因此,PHP 內建的選項以方便使用者對其進行配置。雖然眾多的選項可以使 PHP 完成許多工作,但這些選項的設定以及對伺服器的配置很可能會產生安全性問題。

PHP 的選項與其語法一樣,具有很高的靈活性。使用 PHP,可以在只有 shell 使用者權限的環境下創建完善的伺服器端程序,或者在被嚴格限制環境下使用它來完成伺服器端包含(Server-Side Includes)而無需承接但太大的風險。如何建立這樣一種環境,其安全性如何,很大程度上取決於 PHP 的開發者。

本章以一些常規的安全建議作開頭,講述如何在不同的環境下盡可能地提高安全性,以及介紹對於不同安全級別的一些程式設計原則。

總則

絕對安全的系統是不存在的,因此安全業界常用的方法有助於平衡可用性和風險。對使用者提交的每一個變數都進行雙重驗證可能是一個很負責任的行為,但會導致使用者必須花很多時間去填寫一張複雜無比的表格,從而迫使某些使用者嘗試繞過安全機制。

最好的安全機制應該能在不防礙用戶,並且不過度增加開發難度的情況下做到能滿足需求。實際上,一些安全問題往往會發生在這種過度強化安全機制的系統上。

不要忘記著名的等強原則:一個系統的強度是由它最薄弱的環節決定的(相當於木桶原理)。如果所有的事務都基於時間、地點、事務種類進行詳細的記錄,而用戶驗證卻只依靠一個 cookie,那麼用戶所對應的事務記錄的可信度就被大大剝弱了。

調試程式碼的時候一定要記住,就算是一個簡單的頁面也很難對所有可能發生的情況進行檢測:對你不滿的僱員不一定會輸入如你所願的東西,黑客也有足夠的時間研究你的系統,當然,你的寵物貓也會跳到你的鍵盤上。這就是為什麼必須檢查所有的程式碼,去發現哪裡可以引入不正當的數據,然後對程式碼改進、簡化或增強。

網路上充滿了為了成名而破壞你的程式碼、攻擊你的網站並輸入不正當資料的人,總之他們會使你的生活充滿樂趣。無論是大網站還是小網站,只要能和網路連接,就會成為一個目標。許多駭客程式並不理會網站的大小,只會機械地掃描 IP 位址並找出受害者。我們希望那個不要是你。


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

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

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

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

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

See all articles