快速連結
重定向(301 Redirect)整個網站(網域) 到另一個新的網站(網域)
#重定向(301 Redirect)整個網站
Redirect 301 / https://newsite.com/
如果上面的無效 可以用以下
#重定向(301 Redirect)整個網站
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-url\.com$ [NC]
RewriteRule ^(.*)$ https://new-url.com.tw$1 [L,R=301]
補一個php的寫法
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://example.com");
?>
下面兩個的參考資料
重定向到非 www
#重定向到非 www
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.tld [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]
</IfModule>
重定向到 www
#重定向到 www
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.tld [NC]
RewriteRule ^(.*)$ http://www.domain.tld/$1 [L,R=301]
</IfModule>
WordPress 上傳文件夾 禁用文件執行
Uploads文件夾是存儲所有圖像和其他媒體的位置,因此它必須可寫。
但是,因為它是可寫的,它也可能被黑客濫用,黑客可以使用它來上載和執行惡意軟件。
通過禁用文件執行,您不會阻止新文件的上載,但是一旦執行,文件將不會執行,因此黑客無法使用它們。
#WordPress 上傳文件夾 禁用文件執行
Options -ExecCGI
#Block javascript except for visualcomposer (VC) plugin
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*wp-content/uploads/visualcomposer-assets/.*\.js$
RewriteRule ^(.*\.js)$ - [F,L]
防止駭客利用xmlrpc.php進行暴力破解的攻擊
如果網站CPU持續滿載 100%
有可能攻擊者利用xmlrpc.php提供的接口嘗試猜解用戶的密碼,做頻繁的嘗試。
為了防止駭客利用xmlrpc.php進行暴力破解的攻擊
有一下兩種方式調整
可以利用以下代碼在.htaccess重寫規則
把xmlrpc.php的用戶導向其他地方
#把xmlrpc.php的用戶導向其他地方
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\/.0\.0\.0\/" [R=301,L]
把 xmlrpc.php檔案直接拒絕所有的存取
#xmlrpc.php檔案直接拒絕所有的存取
<files xmlrpc.php>
order Deny,Allow
Deny from all
</files>
啟用Gzip文字壓縮
#啟動gzip文字壓縮
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
強制https (強制SSL連線)
#強制https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
保護.htaccess
以下的程式碼將讓黑客無法存取你的 .htaccess 檔
#保護.htaccess
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
保護wp-config.php
禁止任何人訪問wp-config.php
#保護wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
保護 wp-content 資料夾
防止駭客上傳垃圾檔案進入網站
如果要用這個方法保護資料夾,必須額外建立一個.hatccess檔案
並上傳到 example.com.tw/wp-content/ 內
這麼做只會允許 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上傳到媒體資料夾,其餘的檔案類型將被拒絕。
#保護 wp-content 資料夾
Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>
保護 include-only 檔案
某些檔案是絕不用讓使用者存取的。你可以加入以下程式碼,來阻擋使用者存取這些檔案
#保護include-only檔案
<IfModule mod_rewrite.c>
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]
</IfModule>
保護 wp-admin 資料夾 限制特定IP存取
此方式也是要額外創建一個.htacceess檔案
並上傳至 example.com.tw/wp-admin/ 內
將ip地址改為自己的ip即可
如果有多個ip可以用逗號 ( , ) 分隔
#Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 12.34.56.78
</Limit>
禁止瀏覽目錄
#禁止瀏覽目錄
Options All -Indexes
禁止直接連結圖片
直接連結的意思是某人直接取用你的圖片鏈結,然後將它分享到其他網頁上。這常發生在討論區,但大多數的網站擁有者仍然會這麼做。直接連結可能對你的網站帶來負面影響,包括使你的網站變慢,也會讓你的頻寬費用增加。
你可以禁止除了你的網站外的網站直接連結圖片,將以下程式碼加入即可。請確認將以下網址更改為你的網址。
當其他人試圖從其他網址瀏覽你的圖片時,他們將會看到禁止圖片,而這圖片可以變更為任何你想要的圖(在上面的最後一行設定圖片路徑)。
#禁止直接連結圖片
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]
建立帳號密碼讓網站變成私人網站
步驟 1:建立 .htpasswd 檔
請先開啟文字編輯器並且新增一行帳號密碼,使用冒號(:)分隔。密碼需要使用加密格式來讓 htaccess 讀取。在 Linux 系統中您可以使用 apache2-utils 中的 htpasswd 工具來產生。您可以使用一些線上工具來協助您產生。
以下為範例 帳號:密碼
username:Tq/W4Q1H7uL4Q
步驟 2:建立 .htaccess 檔
接下來編輯 .htaccess 檔案
新增以下內容
#密碼保護網站
AuthUserFile www.mysite.com/public_html/.htpasswd
AuthName "密碼保護區域"
AuthType Basic
<limit GET POST>
require valid-user
</limit>
請編輯 AuthUserFile 該行內容,確定有指向您 .htpasswd 檔案的絕對路徑。
您可以修改 AuthName 來變更登入提示。
接者請上傳此檔案到您的管控的目錄中。.htaccess 檔將會適用於該目錄與其底下的子目錄。
例如您想要保護整個網站,則請上傳到:
www.mysite.com/public_html
或是您想要保護某個特定的目錄之內的內容 (包含其下的子目錄):
www.mysite.com/public_html/wp-content
另一個方法:安裝外掛
可以使用此外掛:WP Basic Authentication 輕鬆保護網站