LAMP环境搭建三

配置防盗链

定义:别人可以查看我们网站图片的链接,然后应用在他的网站上,这样的话,去访问他的网站,实际上消耗的是我们的流量,

这样我们就不得不去配置防盗链,使得别人不能复制我们图片的链接。

配置说明:

#SetEnvIfNoCase 当满足某个条件时,为变量赋值,即根据客户端请求属性设置环境变量。

#注:Referer :是指请求当前资源的原始连接,使用referer是可以防盗链

#注: 当我们直接在浏览器地址栏输入一个连接进行访问请求时,其referer为空

#curl直接请求一个连接referer也是空的,curl可以通过-e选项来指定referer测试效果

测试结果:

访问控制Directory

apache的配置文件中 Directory标签可以针对目录做访问控制,可以通过源IP来控制访问请求是否能访问该目录的资源


测试结果:


访问控制FilesMatch

FilesMatch标签,可以针对资源文件进行访问控制,也就相当于针对一个具体的链接进行访问控制,FilesMatch标签必须存在于Directory标签里面。


测试结果:


限定某个目录禁止解析php

在网站可以上传文件的环境中,需要将存放上传文件的目录禁止解析php,防止有人利用PHP代码来获得服务器的权限。

配置说明:


测试结果:


限制user_agent

user_agent可以理解为浏览器标识,可以通过user_agent来防止CC攻击等恶意请求

关于CC攻击的说明:CC攻击

配置说明:


测试结果:


php相关配置

##查看php配置文件位置,最好是通过phpinf()页面来查看web服务器所使用的PHP配置文件 /usr/local/php/bin/php -i|grep -i "loaded configuration file"

#如果没有加载配置文件,可以从源码目录下复制默认的配置文件到PHP的配置文件存放目录cp /usr/local/src/php-5.6.30/php.ini-development /usr/local/php/etc/php.ini

##定义时区,否则会出现一些告警信息,在php.ini文件中修改下面的参数date.timezone = Asia/Shanghai 或者 Asia/Chongqing

#日志相关,在php.ini文件中修改下面的参数

#定义php错误日志文件的路径 error_log = /tmp/php_errors.log

#开启错误日志功能log_errors = On

#不输出错误信息到web页面 ,On开启的话会在web页面显示php的错误信息 display_errors = Off

error_reporting = E_NOTICE #定义记录错误日志的级别

PHP能打开的目录限制,在php.ini文件中修改下面的参数open_basedir = /data/wwwroot/123.com:/tmp/

php扩展模块安装

当PHP安装完成之后,需要添加某些编译时没有指定的模块,可以使用动态安装的方式来添加php的模块。

查看PHP已经加载的模块:/usr/local/php/bin/php -m

举例:安装一个redis扩展包

1:下载模块包


2:解压模块包


3:生成configure文件


4:configure配置安装参数,一般情况只需要指定php-config文件的路径

/configure --with-php-config=/usr/local/php/bin/php-config

5:进行编译安装

make && make install

查看扩展模块存放目录,我们可以在php.ini中去自定义该路径

ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226找到opcache.so redis.so #这就是刚才编译的Redis模块

这时我们的php还不支持redis模块,还需要在php.ini配置文件中添加一行配置, 可以放在最后一行

echo 'extension = redis.so' >> /usr/local/php/etc/php.ini

#再查看PHP已经加载的模块:

/usr/local/php/bin/php -m | grep redisredis就可以看到redis了,说明php已经进行了加载。

猜你喜欢

转载自blog.csdn.net/swtirene/article/details/80880630