溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈

發(fā)布時(shí)間:2020-07-28 23:52:03 來(lái)源:網(wǎng)絡(luò) 閱讀:297 作者:caozhengtao1213 欄目:云計(jì)算

防盜鏈概述

防盜鏈就是防止別人的網(wǎng)站代碼里面盜用服務(wù)器的圖片文件、視頻等相關(guān)資源.如果別人盜用網(wǎng)站的這些靜態(tài)資源,明顯的是會(huì)增大服務(wù)器的帶寬壓力.所以作為網(wǎng)站的維護(hù)人員,要杜絕我們服務(wù)器的靜態(tài)資源被其他網(wǎng)站盜用.

配置規(guī)則變量說(shuō)明

%{HTTP_ REFERER}:瀏覽header中的鏈接字段,存放一一個(gè)鏈
接的URL,代表是從哪個(gè)鏈接訪問(wèn)所需的網(wǎng)頁(yè)
!^:不以后面的字符串開(kāi)頭
.*$: 以任意字符結(jié)尾
NC:不區(qū)分大寫(xiě)
R:強(qiáng)制跳轉(zhuǎn)


規(guī)則匹配說(shuō)明

RewriteEngine On:打開(kāi)網(wǎng)頁(yè)重寫(xiě)功能
RewriteCond:設(shè)置匹配規(guī)則(條件)
RewriteRule:設(shè)置跳轉(zhuǎn)動(dòng)作(操作)


規(guī)則匹配

如果相應(yīng)變量的值匹配所設(shè)置的規(guī)則,則逐條往下處理;如果不匹配,則往后的規(guī)則不再匹配


實(shí)例演示

環(huán)境部署

一臺(tái)linux虛擬機(jī)作為源網(wǎng)站服務(wù)器,(IP:192.168.235.158/域名:www.bdqn.com)
一臺(tái)win7 x64虛擬機(jī)作為測(cè)試客戶機(jī)
一臺(tái)win7 -2虛擬機(jī)作為盜鏈網(wǎng)站服務(wù)器(192.168.235.143)

演示開(kāi)始

第一步:安裝并配置DNS服務(wù)

1.安裝服務(wù)

[root@localhost ~]# yum install bind -y     

2.配置DNS主配置文件

[root@localhost ~]# vim /etc/named.conf         //編輯主配置文件
options {
        listen-on port 53 { any; };         //將括號(hào)內(nèi)127.0.0.1替換為any
        ...                                 //省略部分不做修改
        allow-query     { any; };           //將括號(hào)內(nèi)localhost替換為any

3. 配置DNS區(qū)域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones    //編輯區(qū)域配置文件
zone "bdqn.com" IN {                                //指定域名  
        type master;        
        file "bdqn.com.zone";                       //指定域名的區(qū)域數(shù)據(jù)文件
        allow-update { none; };
};     

4.配置DNS區(qū)域數(shù)據(jù)配置文件

[root@localhost ~]# cd /var/named/                      //切換目錄
[root@localhost named]# cp -p named.localhost bdqn.com.zone         //保留權(quán)限復(fù)制區(qū)域數(shù)據(jù)文件模板
[root@localhost named]# vim bdqn.com.zone                           //編輯區(qū)域數(shù)據(jù)文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.158             
//刪除末行的內(nèi)容,輸入www IN  A       192.168.235.158 此段內(nèi)容,地址為本地Linux的IP地址

5.開(kāi)啟DNS服務(wù)

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service 
[root@localhost named]# setenforce 0

第二步:編譯安裝Apache服務(wù)

1.遠(yuǎn)程共享獲取LAMP工具包

[root@localhost named]# smbclient -L //192.168.56.1 //查看由Windows共享的內(nèi)容
    Sharename       Type      Comment
    ---------       ----      -------
    LAMP            Disk      

[root@localhost named]# mkdir /abc              //創(chuàng)建目錄
[root@localhost named]# mount.cifs //192.168.56.1/LAMP /abc
//遠(yuǎn)程掛載工具包到創(chuàng)建的目錄
[root@localhost named]# cd /abc         //切換至目錄查看
[root@localhost abc]# ls
apr-1.6.2.tar.gz                  game.jpg
apr-util-1.6.0.tar.gz             httpd-2.4.29.tar.bz2
awstats-7.6.tar.gz                install_lamp.sh
cronolog-1.6.2-14.el7.x86_64.rpm  mysql-5.6.26.tar.gz
Discuz_X2.5_SC_UTF8.zip           php-5.6.11.tar.bz2
error.png

2.解壓工具包的源碼文件,并

//解壓源碼文件
[root@localhost abc]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
...
[root@localhost abc]# tar zxvf apr-1.6.2.tar.gz -C /opt/
...
[root@localhost abc]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
...

//查看/opt目錄下解壓后的組件包
[root@localhost abc]# ls /opt
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh

//移動(dòng)組件包到Apache服務(wù)的srclib目錄中
[root@localhost abc]# cd /opt
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

3.安裝編譯語(yǔ)言環(huán)境,并configure配置Apache功能模塊

[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]#  yum install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel -y
//安裝語(yǔ)言環(huán)境
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-deflate \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi
//配置相關(guān)功能模塊

4.編譯及編譯安裝

[root@localhost httpd-2.4.29]# make
//編譯
...
[root@localhost httpd-2.4.29]# make install
//編譯安裝
...

5.開(kāi)啟Apache主配置文件中的相關(guān)模塊

[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf
//編輯Apache主配置文件

198 ServerName www.bdqn.com:80
//刪除文件的第198行前的#號(hào)注釋,并將網(wǎng)址替換成之前創(chuàng)建的域名www.bdqn.com

 51 Listen 192.168.235.158:80
 //刪除文件的第51行前的#號(hào)注釋,并將監(jiān)聽(tīng)地址替換為本地Linux的IP地址
 52 #Listen 80
 //在第52行前加上#來(lái)注釋掉IPv6的監(jiān)聽(tīng)

156 LoadModule rewrite_module modules/mod_rewrite.so
//刪除文件的第156行前的#號(hào)注釋,開(kāi)啟重寫(xiě)功能模塊

6.創(chuàng)建首頁(yè)頁(yè)并放入圖片

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/bin/
//切換至Apache服務(wù)的/bin目錄中
[root@localhost bin]# vim /usr/local/httpd/htdocs/index.html            
//編輯首頁(yè)文件

<html><body><h2>It works!</h2>
<img src="game.jpg"/>                           //將圖片放入標(biāo)簽中
</body></html>

[root@localhost bin]# cp /abc/game.jpg /usr/local/httpd/htdocs/
//將先前掛載目錄中的圖片復(fù)制到站點(diǎn)目錄下

7.開(kāi)啟Apache服務(wù)

[root@localhost bin]# ./apachectl start         
//使用Apache自帶的腳本開(kāi)啟服務(wù)

第三步:使用測(cè)試客戶機(jī)查看網(wǎng)站

1.打開(kāi)一臺(tái)Win 7 x64測(cè)試主機(jī),變更DNS服務(wù)器地址為本地Linux的IP地址

Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈

2.打開(kāi)瀏覽器輸入域名www.bdqn.com即可訪問(wèn)網(wǎng)頁(yè)
Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈
3.查看網(wǎng)頁(yè)屬性,以獲取圖片的URL地址
右擊圖片,點(diǎn)擊屬性即可查看到該圖片的URL地址為http://www.bdqn.com/game.jpg
Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈


第四步:創(chuàng)建并配置盜鏈網(wǎng)站

1.開(kāi)啟一臺(tái)Win 7-2主機(jī),搭建網(wǎng)站
控制面板—程序—程序和功能—打開(kāi)和關(guān)閉windows功能—選擇Internet信息服務(wù)
Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈
2.使用txt文檔編寫(xiě)網(wǎng)頁(yè)內(nèi)容,并更改文檔名為index.html
txt文檔內(nèi)容:

<html>
 <head></head>
  <body>
    <h2>this is test web</h2>
    <img src="http://www.bdqn.com/game.jpg"/>
  </body>
</html>

3.將index.html文件放入C:\inetpub\wwwroot的站點(diǎn)中
Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈


第五步:使用測(cè)試客戶機(jī)查看盜鏈網(wǎng)站

使用Win 7 x64測(cè)試主機(jī)訪問(wèn)Win 7-2(IP:192.168.235.143),就可以訪問(wèn)到網(wǎng)頁(yè),但是這是個(gè)盜鏈網(wǎng)站,訪問(wèn)此站點(diǎn)的同時(shí)既盜取了他人源網(wǎng)站的資源,有獎(jiǎng)流量導(dǎo)回了源網(wǎng)站,從而造成了他人服務(wù)器的負(fù)載
Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈


第六步:配置防盜鏈

1.修改Apache的配置文件

[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf

248     Require all granted                     
//在第248行下追加以下6行內(nèi)容,用以防止其他網(wǎng)站盜鏈.一旦截取到盜鏈圖片信息,便會(huì)跳出錯(cuò)誤圖片
249         RewriteEngine On
250         RewriteCond %{HTTP_REFERER} !^http://bdqn.com/.*$ [NC]          
251         RewriteCond %{HTTP_REFERER} !^http://bdqn.com$ [NC]
252         RewriteCond %{HTTP_REFERER} !^http://www.bdqn.com/.*$ [NC]
253         RewriteCond %{HTTP_REFERER} !^http://www.bdqn.com/$ [NC]
254         RewriteRule .*\.(gif|jpg|swf)$ http://www.bdqn.com/error.png

2.將報(bào)錯(cuò)圖片放入站點(diǎn)目錄

[root@localhost bin]# cp /abc/error.png /usr/local/httpd/htdocs/
[root@localhost bin]# ls /usr/local/httpd/htdocs/
error.png  game.jpg  index.html

3.重新開(kāi)啟服務(wù)

[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start

第七步:測(cè)試防盜鏈

使用Win 7 x64測(cè)試主機(jī)再次訪問(wèn)Win 7-2(IP:192.168.235.143)的網(wǎng)頁(yè),便會(huì)跳出另外一張圖片,防盜鏈配置成功!Apache網(wǎng)頁(yè)優(yōu)化 ---配置防盜鏈

--------------------------------------------感謝閱讀 --------------------------------------------

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI