• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Apache網頁優化之--防盜鏈與隱藏版本(內涵實驗詳細過程)

    標簽: Apache

    前言:

    一般的站點或者靜態資源托管站點都提供防盜鏈的設置,也就是讓服務端識別指定的Referer,在服務端接收到請求時,通過匹配referer頭域與配置,對于指定放行,對于其他referer視為盜鏈。

    一、防盜鏈介紹

    • 防盜鏈就是防止別人的網站代碼里面盜用服務器的圖片文件、視頻等相關資源
    • 如果別人盜用網站的這些靜態資源,明顯的是會增大服務器的帶寬壓力
    • 所以作為網站的維護人員,要杜絕我們服務器的靜態資源被其他網站盜用
    1.1 配置規則變量說明
    • %{HTTP_REFERER}:瀏覽 header 中的鏈接字段,存放一個鏈接的URL(統一資源定位系統,網址),代表是從哪個鏈接訪問所需的網頁
    • !^:不以后面的字符串開頭
    • .*$:以任意字符結尾
    • NC:不區分大小寫
    • R :強制跳轉
    1.2 規則匹配說明
    • RewriteEngine On:開啟網頁重新功能
    • RewriteCond:設置匹配規則
    • RewriteRule:設置跳轉動作
    • 如果響應變量的值匹配所設置的規則,則逐條向下處理;如果步匹配則往后額規則不再匹配

    二、實驗

    2.1 實驗環境:
    • 使用兩臺主機模擬盜鏈,信息如下

      網站IP地址為192.168.181.129,域名為www.laofanqie.com

    • ② 使用win10-1 虛擬模擬客戶端進行訪問測試

    • ③ 使用win10-2 虛擬機制作盜鏈網站

    2.1.1 配置DNS域名服務
    • 修改主配置文件
    [root@localhost ~]# yum install bind -y
    .......省略部分內容
    [root@localhost ~]# vim /etc/named.conf  #修改主配置文件
    options {
            listen-on port 53 { any; };		#將127.0.0.1修改為“”監聽所有地址
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
            allow-query     { any; };	#將localhost修改為any允許所有地址訪問
    
            /* 
    • 修改區域配置文件
    [root@localhost ~]# vim /etc/named.rfc1912.zones 
    #添加以下信息
    zone "laofanqie.com" IN {
            type master;
            file "laofanqie.com.zone";
            allow-update { none; };
    };
    • 修改區域數據配置文件
    [root@localhost ~]# cd /var/named/
    [root@localhost named]# ls
    data     named.ca     named.localhost  slaves
    dynamic  named.empty  named.loopback
    [root@localhost named]# cp -p named.localhost laofanqie.com.zone
    [root@localhost named]# vim laofanqie.com.zone
    		AAAA	::1				#刪除末行IPV6信息
    www IN  A       192.168.181.129		#添加此段信息
    • 開啟DNS服務
    [root@localhost named]# systemctl start named	#開啟DNS
    [root@localhost named]# systemctl stop firewalld.service 				#關閉防火墻
    [root@localhost named]# setenforce 0	#關閉增強性安全功能
    • 驗證DNS(使用win10-1虛擬機)

      修改客戶機網卡信息
      在這里插入圖片描述

    ? 解析源服務器域名

    在這里插入圖片描述

    2.2 防盜鏈配置
    2.2.1 手工編譯安裝Apache
    • 掛載共享文件、解壓到/opt/目錄中
    [@localhost ~]# mount.cifs //192.168.181.1/LAMP-C7 /mnt
    Password for root@//192.168.181.1/LAMP-C7:  
    [@localhost ~]# cd /mnt
    [root@localhost mnt]# ls
    amoeba-mysql-binary-2.2.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  mha.rar
    apr-1.6.2.tar.gz                  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
    apr-util-1.6.0.tar.gz             LNMP-C7                  php-5.6.11.tar.bz2
    awstats-7.6.tar.gz                LNMP-C7.rar
    cronolog-1.6.2-14.el7.x86_64.rpm  mha
    • 解壓跨平臺組件包和源碼包
    [root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
    [root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
    ...............省略部分內容
    [root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
    ...............省略部分內容
    [root@localhost mnt]# cp dog.jpg /usr/local/httpd/htdocs/
    [root@localhost mnt]# cd /opt
    [root@localhost opt]# ls
    apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
    [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
    • 安裝編譯工具
    [root@lamp opt]# yum -y install \
    > gcc \
    > gcc-c++ \
    > make \
    > pcre-devel \
    > zlib-devel \
    > expat-devel \
    > pcre \
    > perl
    ...........省略部分內容
    • 配置編譯
    [root@lamp opt]# cd /opt/httpd-2.4.29/
    [root@lamp httpd-2.4.29]#./configure \
    --prefix=/usr/local/httpd \
    --enable-so \
    --enable-deflate \
    --enable-expires \
    --enable-rewrite \
    --enable-charset-lite \
    --enable-cgi
    ........省略部分內容
    [root@localhost httpd-2.4.29]# make   #生產可執行的二進制文件
    ........省略部分內容
    [root@localhost httpd-2.4.29]# make install   #復制二進制文件到系統,配置應用環境
    ........省略部分內容
    • 創建軟鏈接便于管理
    [root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
    2.2.2 修改配置文件

    為了在做防盜鏈前后對比,先不開啟防盜鏈功能

    • 修改域名及監聽地址
    Listen 192.168.181.173:80		#開啟ipv4監聽,ip地址指向本機(51行)
    #Listen 80						#關閉ipv6端口監聽(52行)
    ServerName www.laofanqie.com:80		#將域名修改為laofanqie(198行)
    • 編輯默認首頁、開啟服務
    [root@localhost bin]# vim /usr/local/httpd/htdocs/index.html 
    <html><body><h1>It works!</h1>
    <img src="dog.jpg"/>
    </body></html>
    ------->wq
    [root@localhost bin]# ./apachectl start
    [root@localhost bin]# netstat -natp | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      69297/httpd 
    2.2.3 創建盜鏈網站

    使用win10-2 虛擬機創建盜鏈網站

    • 修改win10-2 的網絡配置
      在這里插入圖片描述

    • 訪問apache站點首頁
      在這里插入圖片描述

    • 創建盜鏈網站

    ① 復制站點圖片的地址(URL)
    在這里插入圖片描述
    在這里插入圖片描述

    ② 添加自己的網站

    開啟internet默認網頁服務
    在這里插入圖片描述
    點擊確定等待安裝完成
    在這里插入圖片描述

    ③ 編寫網站內容,將之前復制的URL粘貼進來

    創建txt文本,編輯網頁信息

    在這里插入圖片描述

    ④ 開啟顯示擴展名功能
    在這里插入圖片描述
    在這里插入圖片描述

    ⑤ 將txt文件名修改為index.html,然后放入以下路徑目錄下

    在這里插入圖片描述

    ⑥ 關閉win10-1 和win10-2的防火墻(不關會導致無法訪問盜鏈網站)

    ⑦ 使用win10-1(客戶機)訪問盜鏈網站進行測試
    在這里插入圖片描述

    盜鏈網站創建成功

    2.2.4 配置防盜鏈
    • 修改Apache配置文件
    
    LoadModule rewrite_module modules/mod_rewrite.so
    #開啟重寫功能(156行)
    
    #搜索/htdocs(222行)在站點的權限模塊中添加以下內容
         RewriteEngine On			#開啟重寫引擎(功能)
         RewriteCond %{HTTP_REFERER} !^http://laofanqie.com/.*$ [NC]	 
         RewriteCond %{HTTP_REFERER} !^http://laofanqie.com$ [NC]
         RewriteCond %{HTTP_REFERER} !^http://www.laofanqie.com/.*$ [NC]
         RewriteCond %{HTTP_REFERER} !^http://www.laofanqie.com/$ [NC]
         RewriteRule .*\.(gif|jpg|swf)$ http://www.laofanqie.com/error.png
    #定義規則,不允許其他URL站點訪問本機網站的各種資源、如果盜鏈資源(圖片)則強制推送一個error.png圖片提示.
    • 將error.jpg拷貝到htdocs站點目錄中
    [root@localhost conf]# cd /mnt
    [root@localhost mnt]# ls
    amoeba-mysql-binary-2.2.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  LNMP-C7.rar
    apr-1.6.2.tar.gz                  dog.jpg                  mha
    apr-util-1.6.0.tar.gz             error.png                mha.rar
    awstats-7.6.tar.gz                httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
    cronolog-1.6.2-14.el7.x86_64.rpm  LNMP-C7                  php-5.6.11.tar.bz2
    [root@localhost mnt]# cp error.png /usr/local/httpd/htdocs/
    [root@localhost mnt]# cd /usr/local/httpd/htdocs/
    [root@localhost htdocs]# ls
    dog.jpg  error.png  index.html
    • 重啟Apache
    [root@localhost bin]# ./apachectl stop
    [root@localhost bin]# ./apachectl start
    #重啟后,當捕捉到有客戶端訪問盜鏈網站,則本機會自動檢測到error.png圖片然后展現給客戶端查閱
    2.2.5 檢測防盜鏈
    • 打開win10-1 客戶機,清理網頁緩存后再次訪問盜鏈網站
      在這里插入圖片描述

    防盜鏈制作成功

    2.3 版本隱藏設置
    • 安裝抓包軟件
      在這里插入圖片描述

    • 訪問源主機網頁
      在這里插入圖片描述

    • 使用抓包軟件查看Apache版本

    在這里插入圖片描述

    可見,在未設置版本隱藏時,客戶機只需要安裝抓包軟件就可以清晰捕捉到源網站的Apache版本,這樣就存在一些安全隱患

    2.3.1 版本隱藏設置
    • 修改配置文件
    [root@localhost conf]# vim httpd.conf  #進入主配置文件
    Include conf/extra/httpd-default.conf  #開啟子配置文件功能
    ------》wq
    [root@localhost conf]# ls
    extra  httpd.conf  magic  mime.types  original
    [root@localhost conf]# cd extra
    [root@localhost extra]# ls
    httpd-autoindex.conf  httpd-info.conf       httpd-mpm.conf                 httpd-userdir.conf
    httpd-dav.conf        httpd-languages.conf  httpd-multilang-errordoc.conf  httpd-vhosts.conf
    httpd-default.conf    httpd-manual.conf     httpd-ssl.conf                 proxy-html.conf
    [root@localhost extra]# vim httpd-default.conf 
    ServerTokens Prod	
    #搜索/Tokens (55行) 找到版本信息,將Full(顯示名稱)修改為Prod(不顯示版本信息)
    ServerSignature Off
    #在下方10行的位置查看簽名信息,確認為關閉狀態
    -----》wq
    • 重啟Apache
    [root@localhost extra]# cd ../../
    [root@localhost httpd]# cd bin/
    [root@localhost bin]# ./apachectl stop
    [root@localhost bin]# ./apachectl start
    2.3.2 測試版本隱藏設置
    • 使用win10-1(客戶機)重新訪問源主機網站
    • 查看抓包工具抓取的信息
      在這里插入圖片描述

    以上Apache的防盜鏈和隱藏版本均已配置完成

    總結

    防盜鏈與版本隱藏需要注意的細節主要在與檢查主配置文件中的模塊功能是否開啟,配置文件中的空格是否少打漏打,子配置文件中的簽名模塊是否關閉。手工編譯安裝時的環境和 ./configure 支持的功能是否齊全
    之后會繼續介紹Apache的深度優化系列~

    版權聲明:本文為weixin_45726050原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_45726050/article/details/104076297

    智能推薦

    Web服務器----------Apache網頁優化、網頁壓縮、防盜鏈實驗過程----簡直太詳細了!!!

    一、Apache網頁優化 1.1 網頁壓縮 1.1.1 網頁優化內容 ■配置網頁壓縮功能 ■配置網頁緩存 ■工作模式的選擇與參數優化 ■配置隱藏版本號 ■配置防盜鏈 1.1.2 gzip介紹 ■配置Apache的網頁壓縮功能,是使用gzip壓縮算法來對網頁內容進行壓縮后再傳輸到客戶端瀏覽器 ■作用 ●降低了網絡傳輸的字節數,加快網頁加載的速度 ●節省流量,改善用戶的瀏覽體驗 ●gzip與搜索引擎的...

    Apache網頁部署及優化(內含網頁壓縮、緩存、防盜鏈和隱藏版本信息)

    文章目錄 前言 一:Apache網頁優化 1.1:網頁壓縮 1.1.1:網頁優化概述 1.1.2:網頁gzip概述 1.1.3:Apache的壓縮模塊 1.1.4:配置網頁壓縮功能 1.2:Apache網頁壓縮實操 1.2.1:環境準備 1.2.2:configure配置 1.2.3:make編譯和make install 1.2.4:編輯配置文件 1.3:驗證配置 1.3.1:驗證配置 1.3....

    Apache網頁優化——網頁壓縮緩存緩存、隱藏版本、防盜鏈

    一、網頁優化概述 1)在企業中,部署Apache后只采用默認的配置參數,會引發網站很多問題,換言之默認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代 2)為了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化的內容 本章介紹的優化內容 1)配置網頁壓縮功能 2)配置網頁緩存 3)配置隱藏版本號 4)配置防盜鏈 二、網頁壓縮 配置Apache的網...

    Apache網頁與安全優化 網頁優化 修改Apache主配置文件加載壓縮功能 配置緩存功能 配置隱藏版本和防盜鏈

    Apache網頁與安全優化 一、配置Apache的壓縮 切換光盤Linux.iso 解壓 進入/usr/src/httpd-2.2.17/ 配置 編譯安裝 創建鏈接 復制主配置文件 增加執行權限 編輯主配置文建 添加httpd服務 啟動httpd服務 查看服務 1)配置apache支持壓縮功能 切換光盤centos7.4 安裝依賴程序 過濾模塊 重新配置 進入/usr/src/httpd-2.2....

    Apache網頁優化及安全優化(網頁壓縮、網頁緩存、隱藏版本信息、配置防盜鏈)

    文章目錄 一、Apache網頁優化 1.1 網頁壓縮 1.1.1 網頁優化概述 1.1.2 gzip介紹 1.1.3 Apache的壓縮模塊 1.1.4 配置網頁壓縮功能 Apache網頁壓縮實操 1.2 網頁緩存 1.2.1 配置網頁的緩存時間 Apache網頁緩存實操 二、Apache安全優化、 2.1 配置防盜鏈 2.1.1 防盜鏈概述 2.1.2 盜鏈模擬步驟 2.1.3 檢查Apache...

    猜你喜歡

    數組刪除其中某個對象的方法

    數組刪除其中的對象或元素,在前端是比較常見的需求。 我現在比較常用的方法如下: 這種方法只適合刪除具有唯一標識的對象。 有沒有想要脫單的小伙伴,加入我們的脫單星球,認識更多優秀的小哥哥小姐姐 特此聲明,星球是免費的,但是創建星球的時候說是必須輸入金額,所以只能先私聊,我再加你免費加入!...

    圖床搭建以及圖床工具的使用

    為什么要用圖床和圖床工具? 比較下面三種md中的圖片url地址(均免費),你會使用哪一種? 選1?由于是本地路徑,文檔分享后給其他人打開后很可能顯示圖片加載失敗。 選2?雖然分享后可以顯示圖片,但能保證加載速度? 選3?我肯定選這種,即兼容2的瀏覽器訪問,又能保證訪問速度。 這樣就可以回答上面的問題了!保證瀏覽器訪問要用圖床,保證加載速度要用圖床工具,又不花錢想想就開心。 除此之外本篇博客還會講解...

    并發編程理論篇

    一、必備知識回顧 計算機又叫電腦,即通電的大腦,發明計算機是為了讓他通電之后能夠像人一樣去工作,并且它比人的工作效率更高,因為可以24小時不間斷 計算機五大組成部分 控制器 運算器 存儲器 輸入設備 輸出設備 計算機的核心真正干活的是CPU(控制器+運算器=中央處理器) 程序要想被計算機運行,它的代碼必須要先由硬盤讀到內存,之后cpu取指再執行 并發 看起來像同時運行的就可以稱之為并發 并行 真正...

    Java LinkedHashMap

    Java LinkedHashMap 前言 Map是我們在實際使用過程中常用的集合,HashMap在Java的實際開發中出鏡率很高,它通過hash算法實現了高效的非線程安全的集合,它有一個缺點就是,用戶插入集合的數據時無序,在我們需要一些有序的map的時候,我們就需要引入另外一個集合:LinkedHashMap。 LinkedHashMap是一個有序的非線程安全的集合,它是HashMap的子類,基...

    Spark Streaming處理文件(本地文件以及hdfs上面的文件)

    標題介紹文件流之前先介紹一下Dstream 下面是來自官網一段的說明,Discretized Streams或DStream是Spark Streaming提供的基本抽象。它表示連續的數據流,可以是從源接收的輸入數據流,也可以是通過轉換輸入流生成的已處理數據流。在內部,DStream由一系列連續的RDD表示,這是Spark對不可變的分布式數據集的抽象(有關更多詳細信息,請參見Spark編程指南)。...

    精品国产乱码久久久久久蜜桃不卡