11月20日任务
11.28 限定某个目录禁止解析php
11.29 限制user_agent
11.30/11.31 php相关配置
1.限定某个目录禁止解析php
核心配置文件内容
php_admin_flag engine off
curl测试时直接返回了php源代码,并未解析
示例一:
如下配置一下
mkdir /data/wwwroot/www.123.com/upload 创建一个图片上传目录/upload/
重新加载一下
测试
2.限制user_agent
user_agent可以理解为浏览器标识
核心配置文件内容
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]
RewriteRule .* - [F]
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 这是针对所有网站的
编辑该文件
做如下配置
重新加载配置文件,并测试一下
示例五:
编辑虚拟主机配置文件
写如下配置
重新加载配置文件,并测试