×
新网 > 虚机资讯 > 正文

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

  • 作者:未知
  • 来源:
  • 2018-05-04 10:50:57

访问控制-限制某个目录禁止php解析 一般用于存储静态文件的目录,因为图片等之类的文件是不需要解析PHP的,且静态文件目录也不允许放php文件。 核心配置文件内容 ; php_admin_flag engine off curl测试时直接返回了php源代码,并

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

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

timg.jpg

<Directory /data/wwwroot/123.com/upload>; php_admin_flag engine off </Directory>

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

访问控制-user_agent

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

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

匹配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会先把文件放在该目录,然后在转移。

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading