PHP安全配置

一、禁用危險函數

查看PHP配置文檔位置

           /usr/local/php/bin/php -i |head #找到Configuration File (php.ini) Path  => /usr/local/php/etc   表示配置文件在此目錄的php.ini

修改配置文件 

    vim /usr/local/php/etc/php.ini   #找到disable_functions處,加入一下內容:

disable_functions =

eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

 

 

 

二、開啓PHP錯誤日誌

修改php.ini,找到display_errors = off 修改成display_errors = On  #表示當在瀏覽器訪問錯誤網頁,會顯示錯誤日誌。一般不使用這種方法

常用方法:

    修改php.ini,找到log_errors = Off   修改成log_errors = On

找到error_log = XXXXX/php_errors.log 修改成絕對路徑error_log = /usr/local/php/logs/php_errors.log   #前提此路徑有此文件才生效,否則該文件不會自動生成,沒有則手動創建,權限修改爲777

找到/error_reporting    加上/error_reporting = E_ALL & ~E_NOTICE

重新加載apache服務graceful表示重載配置

/usr/local/apache2/bin/apachectl graceful

 

三、 配置open_basedir(安全配置)

修改php.in文件,找到open_basedir 修改爲open_basedir = /data/www/:/目錄2/:目錄3/

#表示只允許訪問此目錄,其他目錄無法訪問

修改虛擬主機配置文件httpd-vhosts.conf

   <VirtualHost *:80>裏面加入:

   php_admin_value open_basedir = “/data/www/:/目錄2/:目錄3/

   #1以及點2效果同等,一個是全局一個是某個虛擬主機

 

四、打開慢查詢日誌,記錄超過1秒的查詢

   vim /etc/my.conf  [mysqld] 模塊下面的其他模塊(不是在mysqld模塊的裏面)加入一下代碼:

log_slow_queries = /var/log/mysql_slow_queries.log

long_query_time = 1     #記錄超過1秒的語句

開啓短標籤   控制參數: short_open_tag = On


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