保障4-0511任务打卡

 11.25配置防盗链

11.26访问控制Directory

11.27访问控制FilesMatch

11.28限定某个目录禁止解析php

11.29限制user_agent

11.30/11.31php相关配置

11.32php扩展模块安装

11.25配置防盗链

1.1 首先我们来清楚两个概念:a.防盗链:防盗链就是禁止其他网站引用自己网站资源而做的一系列设置,优点就不需要说了,绝多数就是防止资源浪费,特别是有宽带、流量限制的空间如果不做一些 限制可能就光引用自己网站图片、视频等等资源可能会消耗很大一部分流量。b. referer的概念:你通过A网站的一个页面http://a.com/a.html 里面的链接去访问B网站的一个页面http://b.com/b.html ,那么这个B网站页面的referer就是http://a.com/a.html。 也就是说,一个referer其实就是一个网址。
 

 

11.26访问控制Directory

1 有时候对于一些比较重要的网站内容,除了可以使用用户认证限制访问之外,还可以通过其他一些方法做到限制,比如可以限制IP,也可以限制user_agent,限制IP指的是限制访问网站的来源IP,而限制user_agent,通常用来限制恶意或者不正常的请求。

2首先还是编辑配置文件

# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

3 验证一下语法,重新加载配置文件。并测试配置是否成功

/usr/local/apache2.4/bin/apachectl -t

Syntax OK

11.27访问控制FilesMatch

1 filesmatch表示配置匹配后缀名文件的防盗链,主要是针对某个文件来做限制。

2 首先还是来编辑配置文件

# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

2 验证一下语法,重新加载配置文件。并测试配置是否成功

# /usr/local/apache2.4/bin/apachectl -t

Syntax OK

# /usr/local/apache2.4/bin/apachectl gracefu

11.28限定某个目录禁止解析php

1 在可上传文件的目录下禁止解析PHP,为了避免上传的PHP文件有木马,所以禁止该目录下面的访问解析PHP。一般可写目录、静态文件存放的目录内是不允许存放PHP。

2 首先还是来编辑配置文件

# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

3 验证一下语法,重新加载配置文件。并测试配置是否成功(这里我们模拟生产环境新建一个upload目录

#cd .. 

#mkdir upload

#cp /data/wwwr oot/test.com/1. php /dattwwwroot/test.com/upload/

#cd .. 

#cd test.com/

#cd upload/

#ls

1.php

11.29限制user_agent

1 user_agent可以理解为浏览器标识。防止CC攻击,使大量肉机同时访问某站点,造成拥堵。CC攻击的规律为所有的user_agent都是一致的,且访问频率快,访问地址相同。

2 首先我们还是看一下配置文件

# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

3 验证一下语法,重新加载配置文件。并测试配置是否成功

   当user_agent匹配到curl或者baidu.com时,都会触发规则显Forbidden

11.30/11.31 php相关配置

1 相关配置文件存放目录

# /usr/local/php/bin/php -i |grep -i "loaded configuration file"

2 这里我们看到有一些警告信息提示我们没有设置timezone,其实我们可以设置一下定义date.timezone

//编辑php.ini这个配置文件修改其中的timezone

# vim php.ini

[Date]; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = Asia/Shangahi

3 PHP的disable_functions:PHP有诸多的内置的函数,有一些函数(比如exec)会直接调取linux的系统命令,如果开放将会非常危险,因此,基于安全考虑应该把一些存在安全风险的函数禁掉。

4 php中配置 error_log(PHP的日志非常重要,它是排查问题的重要手段。将display_errors设为off,如果是on的话会将错误日志直接显示在浏览器里,这样对于用户访问不好,而且还会暴露一些文件路径等重要信息,所以要设为off。

 编辑php.ini配置文件

1# vim php.ini

2 修改正确的open_basedir又可以正常访问了

3 针对不同的虚拟主机去限制不同的open_basedir

4 测试open_basedir

# curl -A "aaa aaa" -x127.0.0.1:80 'http://test.com/1.php' -I

11.32php扩展模块安装

1编译httpd时,有涉及动态和静态模块,PHP也一样有静态与动态之分,之前所涉及到的PHP安装都全部为静态,并没有任何动态的模块,所谓动态,就是一个独立存在的.so文件,在httpd中PHP就是以动态模块的形式被加载的。PHP一旦编译完成后,要想再增加一个功能的话,要么重新编译PHP,要么直接编译一个扩展模块(生成一个.so文件),然后在php.ini中配置一下,就可以被加载使用了。

2 看一下我们的电脑上面使用了哪些模块

# /usr/local/php/bin/php -m

[PHP Modules]

bz2

Corec

type

date

dom

ereg

exif

..........

fileinfo

xmlwriter

zlib

3 我们开始下载一个扩展模块编译成.so文件

4 我们查看一下编译好的.so文件有一个mongo.so文件,查询一下扩展模块存放目录

5 在php.ini中配置一行增加扩展模块

 

# vim php.ini

extension=mongo.so

6查看一下配置是否成功,模块是否添加成功

#/usr/local/php/bin/php -m

  1. [PHP Modules]

  2. bz2

  3. Core

  4. ctype

  5. date

  6. dom

  7. ereg

  8. exif

  9. fileinfo

  10. filter

  11. gd

  12. hash

  13. iconv

  14. json

  15. libxml

  16. mongo

  17. mysql

  18. mysqli

  19. openssl

  20. pcre

扩展
几种限制ip的方法 http://ask.apelearn.com/question/6519
apache 配置https 支持ssl http://ask.apelearn.com/question/1029
apache rewrite教程 http://coffeelet.blog.163.com/blog/static/13515745320115842755199/   http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html
apache rewrite 出现死循环 http://ask.apelearn.com/question/1043
php错误日志级别参考  http://ask.apelearn.com/question/6973

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值