【網站設置技巧】htaccess 預防性語法教學

Hi!各位朋友好久不見,我是小蔡老師,這陣子為了新店有點忙到翻車好不容易又重歸秩序,那廢話不多說就來講述今天的課程,相信很多朋友在這陣子應該都有網站備入侵情況,前陣子學習網網站也是被入侵造成很多問題,這邊簡單的教各位朋友如何基礎的預防‧

首先,我們要先了解網站被人入侵有哪幾個方向,小蔡老師把這些途徑規類到下方:

● 途徑1. 會員帳號密碼系統,這部份其實如果沒有在資安上面做足夠的功夫都很容易被人入侵修改權限
● 途徑2. 沒有做任何.htaccess語法的網站的朋友也很容易被人猜測網路存放路徑進而被人加入木馬修改或者破解
● 途徑3. 資料庫路徑很多朋友都以為資料庫是百分之一百存放在虛擬主機上所以絕對安全,但是相信老師這世界上沒有絕對安全的路徑或者存放空間最好的辦法還是隨時做備份,像小蔡就是每個月中旬都會備份一次,這是最笨也是最安全的做法

以上是比較常見的幾個被入侵的方向

在這個單元內小蔡主要是教導各位朋友自行設置.htaccess檔案那我們同樣先來了解.htaccess檔能夠做些什麼事情

● 設定網頁密碼:簡單說就是要進入某網頁需要一個密碼憑證這對開放性網站很難做這點大部分都是設計在後台二段管理裡面
● 設定發生錯誤時出現的文件: 例如. 連結 http://blog.yaduo-arts.com/wp-plugin 會出現404錯誤頁面而不是出現空間資料夾資訊‧
● 改變首頁的檔案 (index.html):可以隱藏各頁面具備index.html檔案這樣比較不會被找到正確路徑進而入侵
● 禁止讀取檔案:隱藏網路檔案資料夾路徑或者夾帶各類型錯誤路徑簡單講就是類似一種網路路徑密碼鎖概念
● 重新導向文件:隱藏的網站路徑只要有人輸入會強制性移轉至其他頁面
● 加上 MIME 類別:
● 限制功能:通常會設成管理員與一班會員

由此可知.htaccess可以做非常多的事情甚至有人乾脆直接設置一個雲端網站讓不懂的朋友直接設定


網站:.htaccess redirect
網站連結:官方網站

在開始前記得先開啟電腦的記事本弄一個.htacces名稱的.txt格式的文字檔
null

然後輸入下面教學語法透過FTP丟到你要控管的資料夾即可
null


對搜尋引擎隱藏你的 XML Sitemaps

XML Sitemaps 可以幫助搜尋引擎更好地抓取你的網站內容,但你不會希望搜尋引擎在搜尋結果頁面顯示你的網站地圖。

<IfModule mod_rewrite.c>
<Files sitemap.xml>
Header set X-Robots-Tag "noindex"
</Files>
</IfModule>

將這段語法加入你的.htaccess 可以防止 XML Sitemals 被搜尋引擎加入索引避免被人修改資料

移除多餘的網址查詢參數

不管是哪種網站,使用者在網址加入一些查詢參數,仍然可以到達網站不同的區塊或者進入重要頁面為了避免夜長夢多我們就直接鎖死,這也可以方便SEO避免掉重複鏈結問題並可以讓所有網址指向同一個 Canonical URL

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{QUERY_STRING} !^p=.*
RewriteCond %{QUERY_STRING} !^s=.*
RewriteCond %{REQUEST_URI} !^/wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>

限制存取某目錄資料夾

以小蔡老師的學習網為例,我主要是要鎖WP-include 則是要把這段程式碼設置成各別式.htaccess文字檔存放到要限制的目錄即會產生作用

RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

防止垃圾語言

這段語法是保護你的留言防止被機器人垃圾流言攻擊,主要是擋沒有referrer的請求但是這也只是黨基本功能,語法中的#號是要請各位朋友自行輸入自家的網址

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*#* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

限制 .htaccess 存取權限

別忘了強化你的.htaccess檔案本身權限。將以下語法加入到.htaccess檔案內已啟用自我保護。語法是禁止所有人直接瀏覽該檔案,但是系統使用讀取(管理者)是允許的。

<Files .htaccess>
order allow,deny
deny from all
</Files>

感謝各位朋友的閱讀希望今天的教學對各路朋友有所幫助優!
(雅朵多媒體學習網線上教學皆為雅朵美術工房所有;請勿盜連或者轉帖限引用,違反者依法處理)

我想發問