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
示例一:
扫描二维码关注公众号,回复:
4230454 查看本文章
- 如下配置一下
- 重新加载一下配置文件
- 测试
- 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 这是针对所有网站的
- 编辑该文件
- 做如下配置
- 重新加载配置文件,并测试一下
示例五:
- 编辑虚拟主机配置文件
- 写如下配置
- 重新加载配置文件,并测试