Apache访问控制
对于一些比较重要的网站内容,除了可以使用用户认证限制访问之外,还可以通过其他一些方法做到限制,比如限制IP,也可以限制user_agent。限制IP指的是限制访问网址的来源IP,而限制user_agent,通常用来限制恶意或者不正常的请求.
访问控制Directory
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/111.com/admin> //增加admin目录
Order deny,allow //按先拒绝,再允许执行
Deny from all //拒绝所有
Allow from 127.0.0.1 //允许ip
访问控制FilesMatch
编辑虚拟主机配置文件,进行FilesMatch配置;既要匹配文件,又要限制IP;
<Directory /data/wwwroot/111.com> //在111.com目录下
<Filesmatch admin.php(.)> //文件匹配admin.php后面跟任意的字符
Order deny,allow
Deny from all
Allow from 127.0.0.1 //只允许127.0.0.1访问
限定某个目录禁止解析php
有这样一种情况,有些站点和论坛是允许上传图片到服务器,他们上传一些php或者js到服务器,然后被我们执行加载,从而对数据造成威胁。 为了避免这种事情的发生,我们需要限制上传类型。
编辑虚拟主机配置文件,进行以下配置;
<Directory /data/wwwroot/111.com/upload> //在111.com定义upload目录
php_admin_flag engine off //禁止php解析,所有访问都报403错误
<FilesMatch (.).php(.*)> // .php 前后匹配任意字符
Order deny,allow //按禁止,允许执行
Deny from all //禁止全部
限制user_agent
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
<VirtualHost :80>
DocumentRoot “/data/wwwroot/111.com”
ServerName 111.com
ServerAlias www.example.com 2111.com.cn
PHP扩展模块安装
下载源码包cd /usr/local/src/
wget https://codeload.github.com/phpredis/phpredis/zip/develop
改名,解压包
mv develop phpredis-develop.zip //更改名称
unzip phpredis-develop.zip //解压
使其生成configure 文件
/usr/local/php7/bin/phpize
配置、编译,安装
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
查看扩展模块存放目录
/usr/local/php7/bin/php -i |grep extension_dir
目录为空,此时在php.ini加载一条扩展语句
vim /usr/local/php7/etc/php.ini
添加redis.so模块
编译自带的PHP源码包
php7的源码包中,有很多自带的源码包。我们不需要再次下载,直接编译即可!
在php-7.1.6/etc目录下有很多目录;
cd /usr/local/src/php-7.1.6/
cd ext/
现在编译一个模块 zip
cd /usr/local/src/php-7.1.6/
/usr/local/php7/bin/php -m |grep zip //在php加载模块中,查找zip
/usr/local/php7/bin/phpize
配置、编译,安装
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
查看目录,此时发现zip.so模块
ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/