老男孩教育每日一題-第108天-php-fpm優化關閉危險參數有哪些?

參考答案

1、打開php的安全模式

 php的安全模式是個非常重要的php內嵌的安全機制,能夠控制一些php中的函數執行,比如system(),同時把被很多文件操作的函數進行了權限控制。
默認關閉,338行
safe_mode = Off
改爲
safe_mode = On

2、用戶組安全

; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
; http://php.net/safe-mode-gid
safe_mode_gid = Off  # php5.3.27默認關閉

3、關閉危險函數

當打開安全模式,函數禁止可以不做,但爲了雙重保險還是做。比如不執行system()能執行系統命令的函數,或能查看php信息的phpinfo()等函數。方法如下
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

4、關閉php版本號

php版本號會在http的head裏顯示
expose_php = On
改爲
expose_php = Off

5、關閉註冊全局變量

register_globals = Off  # 默認關閉,不要打開

6、打開magic_quotes_gpc防止SQL注入

magic_quotes_gpc = Off
改爲
magic_quotes_gpc = On

7、錯誤信息控制

 一般php在沒有連接到數據庫或者其他情況下會有錯誤提示,一般錯誤信息中會包含php腳本當前的路徑信息或者查詢的SQL語句等信息,這類信息在生產環境是不允許的,應禁止。想要錯誤信息,應該導入日誌。
display_errors = Off (默認值,不是改爲off)

顯示錯誤級別
error_reporting = E_WARNING & E_ERROR

8、錯誤日誌

log_errors = On
log_errors_max_len = 1024   # Set maximum length of log_errors.
error_log = /app/logs/php_errors.log  # 注意寫權限

9、資源參數限制優化

# 設置每個腳本運行的最長時間,當無法上傳較大的文件或者後臺備份數據經常超時,需調整下面參數,單位秒。
max_execution_time = 30
# 每個腳本使用的最大內存
memory_limit = 128M
# 每個腳本等待輸入數據最長時間
max_input_time = 60 
# 上傳文件的最大許可
upload_max_filesize = 2M

10、安全參數優化

# 禁止打開遠程地址
allow_url_fopen = On
改爲
allow_url_fopen = Off
# 防止Nginx文件類型錯誤解析漏洞
cgi.fix_pathinfo=0

備註

今天是每日一題陪伴大家的第108天期待你的進步

對於題目和答案的任何疑問,請在博客評論區留言
往期題目索引

http://lidao.blog.51cto.com/3388056/1914205

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章