限定某个目录禁止解析php,限制user_agent,php相关配置

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 这是针对所有网站的
  • 编辑该文件

  • 做如下配置

  • 重新加载配置文件,并测试一下

示例五:    

  • 编辑虚拟主机配置文件

  • 写如下配置

  • 重新加载配置文件,并测试

猜你喜欢

转载自my.oschina.net/u/3962011/blog/2879627