11月20日学习笔记
钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>
11.28 限定某个目录禁止解析php
11.29 限制user_agent
11.30/11.31 PHP相关配置
限定某个目录禁止解析php
如果我们 有一个目录允许上传呢图片,php有一些危险的函数,如果开放了上传的权限,被上传一些恶意的木马上去,形成网站入侵。
核心配置文件内容,一般静态文件存放的目录下是不允许放php的。
<Directory /data/wwwroot/www.123.com/upload>
php_admin_flag engine off
</Directory>
curl测试时直接返回了php源代码,并未解析
限制user_agent
user_agent可以理解为浏览器标识
核心配置文件内容
<IfModule mod_rewrite.c>
RewriteEngine on //之前我们用Rewrite模块是做域名跳转,此处用来限制USER_AGENT.
RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] // %{HTTP_USER_AGENT} .*curl.*表示条件,NC是、表示忽略大小写,OR是或者的意思。 RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]
RewriteRule .* - [F] //F表示forbidden
</IfModule>
curl -A "123123" 指定user_agent
PHP相关配置
1. 用phpinfo()查找配置文件的位置很准确,如查找www.123.com这个目录的配置文件位置,步骤如下:
# cd /data/wwwroot/www.123.com
# 编辑目录下的一个文件,如 vim index.html
# cd /usr/local/src/php-7.1.6
#cp php.ini-development /usr/local/php7/etc/php.ini
然后刷新apache配置文件 graceful ,浏览器测试,查看phpinfo,此时就能查看到php的配置文件。
2. 使用php -i 查看php配置文件的位置
/usr/local/php/bin/php -i|grep -i "loaded configuration file" //有一些情况用php -i是不准的,因为apache调用的是php这个程序,跟配置文件没有太直接的关系。
vim /usr/local/php/etc/php.ini ,修改一下disable_functions和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
修改时间为所需时间 date.timezone=Asia/Shanghai
日志相关的配置
display_errors = Off 设置成On会把相关的一些错误信息显示在浏览器上,还会暴露我们的相关目录,设置成Off浏览器错误会变成白页,所以我们还要配置一些错误日志。
配置错误日志
error_log =/tmp/php_errors.log //把错误日志放到一个目录下,此时我们放到/tmp/目录下。
设置错误日志的级别:定义 error_reporting,如下图所示。
php安全相关的配置
open_basedir //安全参数,设置该参数的目的:比如A网站被黑了,不会牵连到我的B网站。但是会限制该目录下的所有网站,因此需要在虚拟主机配置文件里面执行以下配置 :
php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/" //此处是在虚拟主机配置文件里面操作,针对不同的虚拟主机限制不同的open_basedir,之所以要带上/tmp/是因为默认的临时文件是在/tmp/下。
1ff8
- 周志华《机器学习》(西瓜书) —— 学习笔记:第1章 绪论
- 软件定义网络入门学习笔记2-Mininet和ryu的介绍
- JAVA学习笔记29:foreach遍历
- jsp学习笔记
- 学习笔记(15):Python数据清洗实战-字符串数据处理
- 学习笔记(01):基于海思35xx上nnie加速引擎进行yolov3模型推理-SDK资料下载、梳理及安装...
- HTML学习笔记(他说我标题重复率高,现在就不高了吧哈哈哈)
- 学习笔记(05):600 分钟搞定 Python 入门到实战-字符和字符串-2
- OpenCV学习笔记(11)-K均值
- java学习笔记
- mysql语句 学习笔记(二)
- 雾山的Robotium学习笔记---takeScreenshot(截图)
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q144-Q146)
- Laravel框架学习笔记(一)环境搭建
- 【echart】学习笔记
- IPv6学习笔记——RFC2464
- OpenGL 学习笔记(一)
- Div+css学习笔记
- FreeBSD磁盘组织学习笔记