5月31日任务

时间:2022-08-01 14:16:35

11.25配置防盗链

首先说一下referer,当浏览器向wed服务器发送请求时,一般会带有referer,告诉浏览器是从哪个网页链接过来的,服务器就会根据referer来进行一些数据处理。当然,如果我们直接输入网址进行访问,referer就是空了。

根据referer就可以做一些防盗链的措施,来防止别人盗用自己的数据(一般是图片或视频)。

具体配置方法

1.编辑配置文件

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

添加下面的内容
    <Directory /data/wwwroot/111.com>
        SetEnvIfNoCase Referer "http://111.com" local_ref
        SetEnvIfNoCase Referer "http://aaa.com" local_ref
        SetEnvIfNoCase Referer "^$" local_ref
        <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
            Order Allow,Deny
            Allow from env=local_ref
        </filesmatch>

    </Directory> 

整体来说就是允许111.com,aaa.com和空referer

5月31日任务


关于SetEnvIfNoCase Referer "^$" local_ref  这个匹配空referer的做一个试验

1,访问111.com/baidu.png    //可以直接访问到

5月31日任务

2.注释掉SetEnvIfNoCase Referer "^$" local_ref

5月31日任务


3,再次访问111.com/baidu.png   //因为有缓存,要CTRL+F5强制刷新

5月31日任务

用curl来访问,也是403

5月31日任务

4,用111.com模拟referer,就可以正常访问了    //因为111.com在设置文件里是允许的

5月31日任务

5,用qq.com来模拟referer

5月31日任务

11.26访问控制Directoy

之前用过用户认证,可以在一定程度上提高安全性,想继续提高安全性可以设置访问控制

比如我们可以把核心配置文件设置成只允许本公司内的ip来进行访问,其他的全部拒绝

实现方法

1.编辑配置文件vhost配置文件,添加以下内容

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

<Directory /data/wwwroot/111.com/admin/>

        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Directory>

#pragma -mark viewLife- ( void)viewDidLoad { [ super viewDidLoad]; // Do any additional setup after loading the view. [ self.view addSubview: self.btnShare]; [ self.view addSubview: self.btnPay];}


作者:春夏love雨雪
链接:https://www.jianshu.com/p/fd9180643d9f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
#pragma -mark viewLife- ( void)viewDidLoad { [ super viewDidLoad]; // Do any additional setup after loading the view. [ self.view addSubview: self.btnShare]; [ self.view addSubview: self.btnPay];}


作者:春夏love雨雪
链接:https://www.jianshu.com/p/fd9180643d9f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5月31日任务

 //关于Order 的执行顺序,下面的两条规则都会执行(与iptables的层层过滤不一样),这里是先deny,后allow,是按order后的书写顺序来的,跟下面两行规则的书写顺序无关。

//所以最终结果是允许127.0.0.1访问


2.创建admin目录,创建index.php文件

# mkdir /data/wwwroot/111.com/admin

#touch /data/wwwroot/111.com/index.php


3.访问

# curl -x127.0.0.1:80  111.com/admin/index.php -I    //因为设置的是允许源ip127.0.0.1,这里可以访问到admin目录下的内容
5月31日任务


#tail -n5 /usr/local/apache2.4/logs/111.com-access_log_20180531  //可以看到源ip是127.0.0.1

5月31日任务


下面换别的ip进行访问 ,这里就被拒绝了

5月31日任务

查看以下日志,可以看到源ip是192.168.131.1的就被拒绝掉了

5月31日任务

下面再添加一条允许192.168.131.1的规则,然后再访问一下

5月31日任务

可以看到,这时可以访问admin目录了

5月31日任务

11.27访问控制FilesMatch

我们也可以对特定的文件进行限制访问,只允许127.0.0.1访问

1.配置文件

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


<Directory /data/wwwroot/111.com>
       <FilesMatch admin.php(.*)>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
       </FilesMatch>
    </Directory>

5月31日任务


2,每次改完配置文件都要检查语法重新加载

3,访问试验

# curl -x127.0.0.1:80  111.com/admin.php -I     //虽然是404,但仍是可以访问的

5月31日任务

5月31日任务


4,用浏览器访问,拒绝,日志显示拒绝192.168.131.1ip的访问

5月31日任务

5月31日任务