LAMP架构(八)限定某个目录禁止解析、限制user_agent、php相关配置

访问控制-限制某个目录禁止php解析

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的竹溪网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

一般用于存储静态文件的目录,因为图片等之类的文件是不需要解析PHP的,且静态文件目录也不允许放php文件。 核心配置文件内容

; php_admin_flag engine off

curl测试时直接返回了php源代码,并未解析

访问控制-user_agent

user_agent可以理解为浏览器标识 核心配置文件内容

RewriteEngine on RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] //NC表示忽略大小写 RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC] RewriteRule .* - [F] //F即forbidden

匹配curl或者baidu.com的进行限制。用了OR连接符,不加就是并且,会报错。

curl -A "123123" -A参数指定user_agent

php相关配置

查看php配置文件位置 /usr/local/php/bin/php -i|grep -i "loaded configuration file" //准确的位置可以打开浏览器的phpinfo信息查看。

默认php的安装路径下是没有配置文件的,从安装包里拷贝一份

cp /usr/local/src/php-7.1.6/php.ini-development /usr/local/php7/etc/php.ini

然后/usr/local/apache2.4/bin/apachectl -t和/usr/local/apache2.4/bin/apachectl graceful使配置文件生效。

date.timezone=Asia/Shanghai //定义php的时区,要定义,注意去掉前面的分号。 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, //开启错误日志为On display_errors, //为On表示错误信息直接显示在浏览器上,改成Off error_reporting //定义日志的级别,默认为ALL,生产环境为E_NOTICE open_basedir //安全相关的参数,这里不定义,在vhost里头定义,vhost添加如下参数即可。 php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/" //针对不同的虚拟主机现在他的open_basedir,tmp目录是因为php会先把文件放在该目录,然后在转移。


新闻标题:LAMP架构(八)限定某个目录禁止解析、限制user_agent、php相关配置
链接URL:http://hbruida.cn/article/cggejg.html