Hướng dẫn bảo mật WordPress đơn giản và hiệu quả bằng file .htaccess.

Tôi thường sử dụng Defender Security để tăng cường khả năng bảo mật cho các website của khách hàng. Trong đó, tôi phát hiện ra một tính năng khá thú vị của plugin này đó là tạo file .htaccess cho các thư mục nhạy cảm của WordPress để ngăn chặn các tập tin .php (thường được hacker sử dụng) truy cập trái phép vào đây và ăn cắp dữ liệu. Tuy nhiên, các bạn cũng có thể tự tạo các file .htaccess này mà không cần sử dụng đến plugin Defender Security và bài viết này được sinh ra là nhằm mục đích hướng dẫn các bạn làm điều đó.
Tham khảo thêm:
- Tổng hợp thủ thuật với file .htaccess trong WordPress
- Tăng tốc WordPress bằng cách sử dụng file .htaccess
Bảo mật WordPress hiệu quả bằng file .htaccess
Những thư mục được Defender Security khuyến cáo nên tạo file .htaccess để ngăn các tập tin .php truy cập trái phép bao gồm /wp-includes/, /wp-content/ và /wp-content/uploads/. Các bạn có thể tạo file .htaccess ngay trên host bằng cách sử dụng chức năng tạo file mới của cPanel/ DirectAdmin hoặc tạo bằng NotePad trên máy tính rồi upload lên host, vào đúng thư mục tương ứng.
Với thư mục /wp-includes/, các bạn tạo file .htaccess với nội dung như sau:
<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files wp-tinymce.php>
Allow from all
</Files>
<Files ms-files.php>
Allow from all
</Files>
Options All -Indexes
Còn đây là nội dung của file .htaccess dành cho thư mục /wp-content/ và thư mục /wp-content/uploads/:
<Files *.php>
Order allow,deny
Deny from all
</Files>
Options All -Indexes
Chặn truy cập file nhạy cảm
Thêm đoạn code sau đây vào cuối file .htaccess trong thư mục cài đặt WordPress (nằm ngang hàng với file wp-config.php):
<FilesMatch "\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$">
Order allow,deny
Deny from all
</FilesMatch>
<Files robots.txt>
Allow from all
</Files>
<Files ads.txt>
Allow from all
</Files>
Việc này sẽ giúp ngăn chặn truy cập các file có đuôi txt, exe, sql… trong thư mục cài đặt WordPress, ngoại trừ các file robots.txt và ads.txt (sử dụng bởi Google AdSense).
Xong, chỉ vài thao tác đơn giản như vậy thôi, nhưng đổi lại, website của bạn đã trở nên an toàn hơn rất nhiều so với trước. Chúc các bạn thành công!
Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều. :)






Thanks! Mình làm thử và thấy báo 403 Forbidden rồi.
Nhưng có ảnh hưởng gì đến việc truy cập, hiển thị,…. hay đăng bài, up ảnh, cài đặt …. của wordpress không vậy ạ?>
Nó có thể xung đột với một số plugin WordPress. :P
Mến chào bạn!
Ví dụ là: trên trang của bạn thử gõ: wpcanban.com/abc đều trỏ về trang index.php
– bạn gõ giúp mình thachpham.com/abc đi-> Nó trỏ đến trang lỗi 404
Hoặc bạn gõ bất kì đến 1 folder hay 1 page nào mà không có trên web của ngta thì nó đều báo lỗi như vậy chứ mình không thích tất cả đều trỏ về trang chủ.
Cái này là trang 404 của theme thôi mà bạn. Theme nào chả có. Chẳng qua site của mình thì mình thiết lập nó tự redirect về trang chủ luôn thôi. Nếu site của bạn không có trang 404 thì có thể dùng plugin để tạo. 404page – your smart custom 404 error page chẳng hạn.
Bạn hiểu sai ý mình rồi!
Ý của mình hỏi là: Mình phải cấu hình như thế nào? Ví dụ bây giờ mình tạo 1 folder bất kỳ tên abc, phải cấu hình như thế nào cho folder đó để khi ng khác gõ là: http://domain.com/abc thì nó sẽ tự động trỏ đến trang báo lỗi 404 như mặc định ấy. Chứ bình thường thì mình sẽ thả vào folder đó 1 file tên index.php và nó sẽ hiện 1 trang trắng.
Bạn mới là người không hiểu ý mình đấy. Mình có bảo bạn tạo file index.php và thả nó vào cái gì đó sao? Cứ cài plugin trên kia vào rồi tạo trang 404 theo ý muốn của bạn là được. Lúc truy cập link không tồn tại thì tự khắc nó sẽ hiển thị trang 404 thôi.
Sao thấy hơi khó dùng quá bạn ơi
Thủ thuật này chỉ dành cho những người có kiến thức cơ bản về hosting và mã nguồn WordPress bạn nhé. :P
Mình đã thử tạo file .htaccess như bạn rồi mà vẫn truy cập được đường dẫn đó bình thường :(
Có cách nào khi mình truy cập vào đường dẫn includes hay các thư mục plugin, theme trong thư mục mẹ wp-content là nó báo lỗi 403 không bạn nhỉ @@
Thêm đoạn code sau vào trong file .htaccess của các thư mục đó nhé:
Options All -IndexesCảm ơn bạn được rồi :D
Minh khong thay file htaccess trong thu muc goc cua host,lam sao de hien thi no len nhi ban?
Thanks
Bạn dùng hosting hay VPS? Có cPanel hay DirectAdmin không? :P Bạn phải bật chế độ hiển thị cả file ẩn lên thì mới thấy được. Vì thông thường file .htaccess sẽ bị ẩn vì lý do bảo mật. :P
Cậu Seo kiểu gì kinh thế. Mới post hôm 4/12 mà lên top 1 google rồi. Chắc xèng tiêu ko hết nhỉ :D
Code dùm mình chặn truy cập 1 file hình ảnh nào đó với bro. Chặn được 1 foder thì chắc chắn sẽ chặn dc 1 file chứ ??? :) Chặn hotlinks thì mình biết r
Vào tới foder up loand bỏ htaccess vô chặn truy cập file png và jpg thì đúng là nó không cho truy cập vô, tưởng thành công rồi ai ngờ ra trang chủ hình không hiện lên :(
Tiền không có đồng nào mà tiêu nè bạn. Đói choẹt cả mắt ra rồi. :D Ca này khó đấy :( Bạn nên kết hợp giữa việc chống click chuột phải và chặn hotlinks thì sẽ đơn giản hơn. :P
Có cách nào chặn truy cập hình ảnh gốc ko. mình muốn nó xuất hiện trên web nhưng ko cho người ta truy cập vào ảnh gốc và tải về, tất nhiên mình khóa chuột phải r :)
Dùng thử chức năng chặn hotlinks của cPanel hoặc CloudFlare đi bạn trẻ. :D
Thanks Hiếu
bài viết rất đầy đủ để bảo mật thư mục
Nếu thấy hay thì vote 5 sao hộ mình nhé. Hehe. :P
Bổ sung thêm
Add thêm dòng này vào file .htaccess ở thư mục chính của website
Order allow,deny
Deny from all
Order allow,deny
Deny from all
Order allow,deny
Deny from all
Order allow,deny
Deny from all
Order allow,deny
Deny from all
Cần gì phải lặp lại nhiều lần thế bạn? :P
không hiểu sao nội dung mình gõ trong lại bị mất !
Chắc do cấu hình của WP
Hiếu cho hỏi phát.Mình tạo blog bằng wordpress và forum mã nguồn khác.ví dụ abc là wordpress và abc/f là forum.Có cách nào mà bài biết trên forum hiện lên trang chủ như wordpress không?Giống trang thegioiseo đó
Trang Thế giới SEO làm hoàn toàn bằng mã nguồn XenForomà, kiểu giống như Tinh tế, làm gì có WordPress đâu ba. :P Còn nếu thím muốn show bài viết từ MyBB lên trang chủ WordPress (trong điều kiện thím đang sử dụng theme của tôi) thì thím có thể thử 1 trong 2 plugin sau: https://wordpress.org/plugins/mybb-last-topics/ hoặc https://wordpress.org/plugins/mybb-latest-posts/ :P Nhớ là phải chèn các widget đó vào Home – Top, Home – Middle hoặc Home – Bottom nhé. :D
Ok,thank Thím.Theme tui đang xài dc không magazine đó.Tính làm cho trang chaomaohot.net
Vô tư đi nhé. :P
:D tớ lại ko dùng apache nên ko xài đc
Không xài Apache thì nghỉ đi cho khỏe nhé. :D :D :P