11月20日任務
11.28 限定某個目錄禁止解析php
11.29 限制user_agent
11.30/11.31 php相關配置
1.限定某個目錄禁止解析php
- 核心配置文件內容
- <Directory /data/wwwroot/www.123.com/upload> php_admin_flag engine off
- </Directory>
- curl測試時直接返回了php源代碼,並未解析
示例一:
- 如下配置一下
- mkdir /data/wwwroot/www.123.com/upload 創建一個圖片上傳目錄/upload/
- 重新加載一下
- 測試
2.限制user_agent
- user_agent可以理解爲瀏覽器標識
- 核心配置文件內容
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]
- RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]
- RewriteRule .* - [F]
- </IfModule>
- curl -A "123123" 指定user_agent
示例一:
- 如下配置一下
- 重新加載一下配置文件
- 測試
- curl -A "123123" 指定user_agent
3.PHP相關配置
- 查看php配置文件位置
- /usr/local/php/bin/php -i|grep -i "loaded configuration file"
- date.timezone 定義它的時區
- 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,phpinfo
- error_log,log_errors,display_errors,error_reporting 日誌相關
- open_basedir 安全相關
- php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"
示例一:
- 創建一個PHP文件
- 在瀏覽器打開
- 未加載,則去源碼包拷貝一份
- 重新加載一下配置文件
- 編輯一下
- 添加內容,限制安全函數
- 再加上phpinfo
- 重新加載一下配置文件
- 測試,再次訪問就打不開了
示例二:
- 定義它的時區
示例三:日誌相關
- 定義錯誤信息是否要顯示在瀏覽
- 配置錯誤日誌
- 定義日誌記錄的嚴謹度(級別)
- 重新加載一下配置文件
- 查看是否有生成這個文件
- 查看屬組
- 查看定義所在目錄屬組和寫權限是否是Apache(httpd)的
- 也可以定義之前,先設定文件的權限
示例四:安全相關,限定分別隔離網站
- 定義php.ini 這是針對所有網站的
- 編輯該文件
- 做如下配置
- 重新加載配置文件,並測試一下
示例五:
- 編輯虛擬主機配置文件
- 寫如下配置
- 重新加載配置文件,並測試