配置防盜鏈-訪問控制Directory與FilesMatch

配置防盜鏈:

防盜鏈:就是防止別人盜用你網站上的資源。經過限制referer來實現防盜鏈的功能php

 

1.修改虛擬主機配置文件:/usr/local/apache2.4/conf/extra/httpd-vhosts.confhtml

<Directory /data/wwwroot/123.com>
SetEnvIfNoCase Referer "http://123.com" local_ref   //用來定義referer的白名單
SetEnvIfNoCase Referer "http://111.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref  //此段的意思是,咱們能夠直接複製圖片或其它資源的地址在瀏覽器中查看。空referer
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">   //匹配資源作防盜鏈。
Order Allow,Deny //order制定順序,先容許在拒絕
Allow from env=local_ref
</filesmatch>
</Directory>

如上,把123.com以及111.com兩個站點能夠隨便引用我們的資源,其它的站點均拒絕!

 

2.從新加載配置參數:apache

/usr/local/apache2.4/bin/apachectl -t瀏覽器

/usr/local/apache2.4/bin/apachectl gracefulbash

 

3.測試:curl

#curl -e "http://123.com/123.php" -x127.0.0.1:80 www.123.com/13_avatar_small.jpg -I
HTTP/1.1 200 OK
Date: Wed, 02 Aug 2017 08:46:37 GMT
Server: Apache/2.4.27 (Unix) PHP/5.6.30
Last-Modified: Wed, 07 Jun 2017 09:38:32 GMT
ETag: "97d4-5515b7fd39600"
Accept-Ranges: bytes
Content-Length: 38868
Content-Type: image/jpeg

# curl -e "http://qq.com/" -x127.0.0.1:80 www.123.com/13_avatar_small.jpg -I
HTTP/1.1 403 Forbidden
Date: Wed, 02 Aug 2017 08:46:52 GMT
Server: Apache/2.4.27 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

-e: 指定referer

 

訪問控制Directory

1.修改虛擬主機配置文件:/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>

    注:Order 定義訪問順序,先執行deny後執行allow網站

 

2.建立admin目錄,新建一個index.php文件,內容位121212url

# mkdir admin/spa

# cd admin/

# echo "121212" > index.php

 

3.從新加載配置參數:

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

/usr/local/apache2.4/bin/apachectl graceful

 

4.測試:

curl -x127.0.0.1:80 111.com/admin/index.php -I

-x指定的是目標IP 127.0.0.1,限制的源IP也是127.0.0.1,也能夠訪問內容

 

curl -x192.168.133.150:80 111.com/admin/index.php -I

 

訪問控制FilesMatch

1.修改虛擬主機配置文件:/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<Directory /data/wwwroot/www.123.com>

    <FilesMatch "admin.php(.*)">

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

    </FilesMatch>

</Directory>

訪問控制除了目錄的形式以外,也能夠去匹配文件名或連接

 

2.從新加載配置參數:

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

/usr/local/apache2.4/bin/apachectl graceful

 

3.測試

相關文章
相關標籤/搜索