PHP引擎php.ini引數最佳化
引數以外常見的PHP最佳化方法手段
1)php引擎快取加速最佳化
1 2 |
|
2) 使用tmpfs作為快取加速快取的檔案目錄
tmpfs,基於記憶體的檔案系統,加快轉存暫存檔案的速度
1 2 |
|
3) 防止PHP程式上傳檔案到圖片附件目錄
1 | #Nginx防禦 |
php.ini引數調優
php.ini配置檔案
1 23 |
|
1) 開啟php的安全模式
php安全模式是個非常重要的php內嵌的安全機制,能夠控制一些php的函式執行,比如system()呼叫系統命令函式
1 | safe_mode = on |
2)使用者組安全
1 |
safe_mode_gid = off #防止php程式對指令碼執行有許可權
|
3)關閉危險函式
如果開啟了安全模式,那麼函式禁止是可以不需要的,但是我們為了安全還是可以關閉的,特別是phpinfo()
1 |
disable_functions = system,passthru, exec ,shell_exec,popen,phpinfo
|
如果要禁止任何檔案和目錄的操作,那麼可以關閉很多檔案操作
1 |
disable_functions = chdir,chroot, dir ,getcwd,opendir,readdir,scandie,fopen,unlink,delete,copy, mkdir , rmdir ,rename, file ,file_getcontents,fputs,fwrite, chgrp , chmod , chown
|
4)關閉PHP版本資訊在http頭中的洩漏
1 | expose_php = off |
5)關閉註冊全域性變數
在PHP中提交的變數,包括使用POST或者GET提交的變數,都將自動註冊為全域性變數,能夠直接訪問,這是對服務非常不安全的
1 2 |
|
6)開啟magic_quotes_gpc來防止SQL隱碼攻擊
SQL隱碼攻擊是非常危險的問題,輕則網站後臺被入侵,重則整個伺服器淪陷
1 | magic_quotes_gpc = off |
這個預設是關閉的,如果它開啟將自動把使用者提交對sql的查詢進行轉換,比如把 ' 轉換為 ' 這對防止sql注入有重大作用,所以推薦設定為
1 | magic_quotes_gpc = on |
SQL隱碼攻擊防範:
Apache 中的mod_security和mod_evasive
Nginx lua waf
7)錯誤資訊控制
一般php在沒有連線到資料庫或者其他情況下會提示錯誤,一般資訊都會包含php指令碼當前的路徑資訊或者查詢的SQL語句資訊,這類資訊提供給駭客後市不安全的,建議關閉錯誤提示
1 |
display_errors = off #正式環境不要給使用者報錯
|
8)錯誤日誌
1 2 |
|
部分資源限制引數最佳化
1)設定每個指令碼執行的最長時間
但無法上傳較大的檔案或者後臺備份資料經常超時時,此時需要調整如下設定
1 2 3 |
|
2)每個指令碼使用的最大記憶體
1 | memory_limit = 128m |
3)每個指令碼等待輸入資料最長時間
1 |
max_input_time = 60; #(-1表示不限制)
|
4)上傳檔案的最大許可
1 | upload_mx_filesize = 2M; |
部分安全引數最佳化
1)禁止開啟遠端地址
記得最近出的php include的那個安全漏洞吧!就是在一個php程式中的include了變數,那麼入侵者就可以利用這個控制伺服器在本地執行遠端的一個php程式,例如phpshell
1 | allow_url_fopen = off |
2)設定防止Nginx檔案解析錯誤漏洞
1 | cgi.fix_path = 0 |
3)調整php sesson會話共享資訊存放位置
1 2 3 |
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2809081/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php.ini中的upload_tmp_dir 引數PHP
- godaddy 修改php.iniGoPHP
- php.ini安全配置PHP
- PHP 效能優化 - php.ini 配置PHP優化
- PHP配置檔案詳解php.iniPHP
- php.ini 檔案在哪裡?PHP
- ubuntn 重啟 PHP-fpm 修改 php.iniPHP
- 虛擬主機php.ini在哪PHP
- php curl引數大全PHP
- php編譯引數PHP編譯
- php修改php.ini配置檔案中disable_functionsPHPFunction
- postgresql配置引數最佳化SQL
- php.ini 檔案存放位置不對?PHP
- php.ini 核心配置選項說明PHP
- PHP7中php.ini、php-fpm和www.conf 配置PHP
- 超引數最佳化完整指南
- 淺談PHP-FPM引數PHP
- PHP 編譯引數儲存PHP編譯
- 雲伺服器配置php.ini實現PHP檔案上傳伺服器PHP
- Ubuntu 多個 PHP 版本 修改某個版本的 php.ini 重啟 PHP-fpmUbuntuPHP
- PHP 用 Enum 限定引數型別PHP型別
- PHP獲取和操作配置檔案php.ini的幾個函式PHP函式
- Kafka - 配置檔案引數最佳化方案Kafka
- PHP 函式可變數量的引數列表PHP函式變數
- VNPY利用郵件引擎,把引數最佳化結果作為附件傳送給預定郵箱
- PHP編譯安裝之Configure引數PHP編譯
- PHP 採集程式中日常的引數PHP
- php引數3個點的含義PHP
- 寶塔控制皮膚php.ini檔案在哪裡找PHP
- php7+的php-fpm引數配置,注意事項PHP
- PHP 方法重寫,引數不同,報錯: DeclarationPHP
- PHP Qrcode 二維碼介面 可傳引數PHP
- php函式引用傳遞引數的方法PHP函式
- 深入V8引擎-列舉+位運算實現引數配置
- 如何計算PHP函式中傳遞的引數數量PHP函式
- Oracle 效能最佳化之核心的shmall 和shmmax 引數OracleHMM
- php函式之如何用預設引數和可變長度引數方式傳遞?PHP函式
- CentOS下檢視nginx和php的編譯引數CentOSNginxPHP編譯