配置防盜鏈,訪問控制Directory,訪問控制FilesMatch

配置防盜鏈

  • 經過限制referer來實現防盜鏈的功能
  • 配置文件增長以下內容

<Directory /data/wwwroot/www.111.com>php

    SetEnvIfNoCase Referer 「http://111.com」 local_refhtml

    SetEnvIfNoCase Referer 「http://aaa.com」 local_reflinux

    SetEnvIfNoCase Referer 「^$」 local_refapache

    <filesmatch 「.(txt|doc|mp3|zip|rar|jpg|gif|png)」>vim

        Order Allow,Deny瀏覽器

        Allow from env=local_refcurl

    </filesmatch>測試

</Directory>網站

  • curl -e "http://www.aminglinux.com/123.html" 自定義referer

防盜鏈:通俗來講,就是不讓別人盜用你網站上的資源。url

打開虛擬主機配置文件 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,增長內容以下,保存退出

SetEnvIfNoCase Referer 「http://111.com」 local_ref和SetEnvIfNoCase Referer 「aaa.com」 local_ref,定義白名單;SetEnvIfNoCase Referer 「^$」 local_ref ,定義空的頁面的白名單(這裏先註釋掉)

<filesmatch 「.(txt|doc|mp3|zip|rar|jpg|gif|png)」>定義規則

Order Allow,Deny定義訪問控制,order用來定義訪問順序

檢查配置文件是否有語法錯誤,並從新加載配置文件

在瀏覽器中訪問111.com/qq.png,會顯示Forbidden

測試:咱們能夠在論壇發一個帖子,發帖內容就是要訪問的連接(作成超連接),而後點擊連接進行訪問,發現仍是顯示Forbidden

這時,咱們能夠打開虛擬主機配置文件,將http://ask.apelearn.com加入到白名單中

而後,再點擊帖子中的連接,就能夠訪問了

若是咱們想要直接在瀏覽器中訪問111.com/qq.png,能夠將虛擬主機配置文件中空referer行前的註釋符去掉

而後檢查配置文件是否有語法錯誤,並從新加載配置文件

這樣就能夠在瀏覽器中正常訪問了

curl測試:

用curl模擬referer,-e指定referer

查看訪問日誌

訪問控制Directory

  • 核心配置文件內容

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

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</Directory>

  • curl測試狀態碼爲403則被限制訪問了

打開虛擬主機配置文件,增長內容以下(紅色方框區域),保存退出

Order 定義訪問順序,先執行deny後執行allow

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

# mkdir admin/

# cd admin/

# touch index.php

# echo "121212" > index.php

檢查語法是否有錯誤,並從新加載配置文件

訪問測試:

curl -x127.0.0.1:80 111.com/admin/index.php -I,-x指定的是目標IP 127.0.0.1,限制的源IP也是127.0.0.1,也能夠訪問內容

改變目標IP,源IP也會改變

查看訪問日誌

在瀏覽器中訪問111.com/admin/,顯示Forbidden

訪問控制 FilesMatch

  • 核心配置文件內容

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

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

        Order deny,allow

        Deny from all

        Allow from 127.0.0.1

    </FilesMatch>

</Directory>

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

相似於以上中的連接,咱們能夠用FilesMatch去匹配

打開虛擬主機配置文件,增長內容以下,保存退出

檢查語法是否有錯誤,並從新加載配置文件

作訪問測試,出現403

更改目標IP,出現404,表面容許訪問了

擴展

幾種限制ip的方法

apache 自定義header

apache的keepalive和keepalivetimeout

相關文章
相關標籤/搜索