中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux管理員不可不知的PHP安全要點有哪些

發布時間:2021-10-18 17:57:58 來源:億速云 閱讀:143 作者:柒染 欄目:建站服務器

今天就跟大家聊聊有關Linux管理員不可不知的PHP安全要點有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

  PHP是使用最廣泛的腳本編程語言之一。市場份額頗能說明其主導地位。PHP 7已推出,這個事實讓這種編程語言對當前的開發人員來說更具吸引力。盡管出現了一些變化,但是許多開發人員對PHP的未來持懷疑態度。一個原因是PHP的安全。

  PHP的安全是廣大開發人員擔心的主要問題。雖然PHP提供從里到外的可靠安全,但是需要由開發人員正確地落實這些安全機制。我們在本文中將為Linux管理員介紹幾個PHP安全要點。這些要點將幫助你確保Web應用程序安全,并確保從長遠來看正常運行。

  在我們開始之前,有必要了解一下我們所要處理的系統。出于演示的需要,我們使用Fedora。然而,這些要點應該適用于Ubuntu版本或其他任何Linux發行版。查看你操作系統發行版的使用手冊,即可了解更多信息。

  不妨仔細看一下我們系統環境的幾個關鍵文件。你的文件應該類似或對應于下列:

  默認的Web服務器:Apache

  DocumentRoot:/var/www/html

  PHP配置文件:/etc/php.ini

  擴展配置目錄:/etc/php.d/

  安全文件:/etc/php.d/security.ini

  這些技巧將保護你的網站,避免不同類型的常見攻擊,比如SQL注入、XSS、跨站請求偽造攻擊、eval()和文件上傳等攻擊。可在此(https://www.sitepoint.com/top-10-php-security-vulnerabilities/)查看常見攻擊列表。

  1. 刪除不必要的模塊

  PHP隨帶內置的PHP模塊。它們對許多任務來說很有用,但是不是每個項目都需要它們。只要輸入下面這個命令,就可以查看可用的PHP模塊:

  # php - m

  一旦你查看了列表,現在可以刪除不必要的模塊。減少模塊的數量有助于提高你所處理的Web應用程序的性能和安全。

  2. 限制PHP信息泄露

  平臺泄露關鍵信息司空見慣。比如說,PHP會泄露一些信息,比如版本以及它安裝到服務器上的事實。這可以通過expose_php命令來實現。為了防止泄露,你需要在/etc/php.d/security.ini中將該命令設成off。

  expose_php=Off

  如果你需要了解版本及其狀態,只要針對網站地址運行一個簡單的Curl命令就可以獲得該信息。

  Curl - I http://www.livecoding.tv/index.php

  之前的命令會返回下列信息:

  HTTP/1.1 200 OK

  X-Powered-By: PHP/7.0.10

  Content-type: text/html; charset=UTF-8

  3. 禁用遠程代碼執行

  遠程代碼執行是PHP安全系統方面的常見安全漏洞之一。默認情況下,遠程代碼執行在你的系統上已被啟用。“allow_url_fopen”命令允許請求(require)、包括(include)或可識別URL的fopen包裝器等函數可以直接訪問PHP文件。遠程訪問通過使用HTTP或FTP協議來實現,會導致系統無力防御代碼注入安全漏洞。

  為了確保你的系統安全可靠、遠離遠程代碼執行,你可以將該命令設成“Off”,如下所示:

  Allow_url_fopen=Off

  allow_url_include=Off

  4. 將PHP錯誤記入日志

  加強Web應用程序安全的另一個簡單方法就是,不向訪客顯示錯誤。這將確保黑客根本無法危及網站的安全性。需要在/etc/php.d/security.ini文件里面進行編輯。

  display_errors=Off

  現在你可能會想:完成這一步后,“開發人員在沒有錯誤信息的幫助下如何調試?”開發人員可以使用log_errors命令來用于調試。他們只需要在security.ini文件中將log_errors命令設成“On”。

  log_errors=On

  error_log=/var/log/httpd/php_scripts_error.log

  5. 合理控制資源

  為了確保應用程序的安全,控制資源很重要。為了確保適當的執行和安全,你就要對PHP腳本執行予以限制。此外,還應該對花在解析請求數據上的時間予以限制。如果執行時間受到控制,腳本使用的內存等其他資源也應該會得到相應配置。所有這些度量指標可通過編輯security.ini文件來加以管理。

  # set in seconds

  max_execution_time = 25

  max_input_time = 25

  memory_limit = 30M

  6. 禁用危險的PHP函數

  PHP隨帶用于開發的實用函數,但是也有可能被黑客用來闖入Web應用程序的大量函數。禁用這些函數可以提高總體安全性,并確保你沒有受到危險的PHP函數的影響。

  為此,你先要編輯php.ini文件。一旦進入該文件,找到disable_functions命令,禁用里面的危險函數。為此,你只要拷貝/粘貼下列代碼。

  disable_functions =exec,passthru,

  shell_exec,system,proc_open,popen,curl_exec,

  curl_multi_exec,parse_ini_file,show_source

  你可以在此(https://www.eukhost.com/blog/webhosting/dangerous-php-functions-must-be-disabled/)進一步了解禁用危險的PHP函數。

  7. 上傳文件

  如果你的應用程序不需要上傳任何文件,禁用上傳文件的功能有助于提高安全。想禁止用戶上傳文件,只需要編輯/etc/php.d/目錄下的security.ini文件,將file_uploads命令設成OFF。

  file_uploads=Off

  8. 保持版本最新

  開發人員在24/7不間斷地工作,給你使用的技術打上補丁。PHP也是一樣。由于它有一個開源社區,補丁和修正版定期發布。更新版還為首日漏洞及其他安全漏洞提供了安全補丁。如果你注重應用程序的安全性,就要始終確保你的PHP解決方案是最新版本。另外,給其他相關技術打上最新的補丁可以確保最大限度的安全。

  9.控制文件系統訪問

  默認情況下,PHP可使用fopen()等函數來訪問文件。open_basedir命令提供了訪問。首先,始終要將open_basedir命令設成/var/www/html目錄。將它設成其他任何目錄會導致安全問題。

  open_basedir="/var/www/html/"

  10. 控制POST大小

  我們的最后一個PHP安全要點是控制POST大小函數。HTTP POST函數使用客戶端的瀏覽器,將數據發送到Web服務器。比如說,用戶可能上傳證書,然后發送到Web瀏覽器以便處理。一切都運行順暢,直到有一天黑客企圖發送龐大的文件來耗盡服務器資源。這很可能會導致服務器崩潰或響應緩慢。為了保護服務器遠離這個漏洞,就需要設置POST大小。POST大小可以在/etc/php.d/security.ini文件里面加以設置。

  post_max_size=1k

  結束語

  安全是廣大Web開發人員和Linux管理員最關注的問題之一。如果采取了上述要點,你勢必可以加強開發環境和PHP Web應用程序方面的安全。要是你認為我們遺漏了重要的內容,歡迎留言補充。

看完上述內容,你們對Linux管理員不可不知的PHP安全要點有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陕西省| 安达市| 长白| 拉孜县| 德格县| 招远市| 农安县| 军事| 定远县| 澄城县| 南平市| 瑞丽市| 朝阳市| 雷波县| 巴楚县| 缙云县| 谷城县| 镇巴县| 通渭县| 佛教| 海伦市| 临邑县| 全南县| 瑞安市| 来凤县| 廉江市| 泰和县| 九台市| 镇安县| 泸州市| 诸城市| 东山县| 尼玛县| 沂南县| 托克托县| 吐鲁番市| 左贡县| 勃利县| 同心县| 明溪县| 资源县|