Bảo Mật Website WordPress Trên Htaccess

Bảo mật là vấn đề then chốt trong mỗi website, làm sao để giúp website của mình bảo mật hơn là điều mà bất kỳ lập trình viên nào cũng muốn làm, vừa rồi phát hiện tại việt Nam rất nhiều website bị dính mã độc hại qua website wordpress, và để giúp bạn có thể 1 phần nào đó giúp website mình bảo mật hơn, seo web 247 đưa ra 1 số cách giúp bạn bảo vệ website của mình trên file htaccess.

Bảo vệ tập tin .htaccess

Tập tin .htaccess kiểm soát hầu như toàn bộ blog/website của bạn nên việc bảo vệ nó khỏi sự xâm nhập trái phép là một việc rất quan trọng. Đoạn mã sau đây sẽ giúp ngăn chặn hacker truy cập vào tập tin .htaccess của bạn.

<files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</files>

Bảo vệ tập tin wp-config.php

Một tập tin quan trọng không kém là wp-config.php. Tập tin cấu hình này chứa các thông tin đăng nhập cơ sở dữ liệu WordPress của bạn cũng như các thiết lập bảo trì quan trọng khác. Do đó, bạn nên vô hiệu hóa việc người lạ truy cập vào nó.

<files wp-config.php>
order allow,deny
deny from all
</files>

Chặn include-only files

Có một số tập tin mà người dùng không bao giờ được phép truy. Bạn có thể chặn việc truy cập vào những tập tin này bằng cách thêm đoạn mã sau vào tập tin .htaccess:

# Block the include-only files.
<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>

Bảo vệ thư mục wp-content

Thư mục wp-content là một trong những khu vực quan trọng nhất của WordPress. Đây là nơi chứa các tập tin quan trọng như themes, plugins, các tập tin đã được upload (hình ảnh và video) và các tập tin cache. Do đó, nó là một trong những mục tiêu chính của tin tặc.

Bạn có thể giải quyết các mối đe dọa bằng cách tạo ra một tập tin .htaccess riêng cho thư mục /wp-content/ và thêm đoạn mã sau vào:

Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpe?g|png|gif|js)$”>
Allow from all
</Files>

Cấm một ai đó truy cập website

Nếu bạn biết địa chỉ IP của một người nào đó là nguy hiểm, bạn hoàn toàn có thể cấm họ truy cập blog/website của bạn bằng cách sử dụng đoạn mã dưới đây.

<Limit GET POST>
order allow,deny
deny from 123.456.78.9
deny from 987.654.32.1
allow from all
</Limit>

Chuyển hướng khách truy cập đến trang bảo trì

Nếu bạn muốn chuẩn bị cho những điều tồi tệ nhất có thể xảy ra, tôi khuyên bạn nên tạo một trang HTML cơ bản có tên là maintenance.html, nhằm thông báo cho khách truy cập rằng blog/website của bạn đang gặp một chút vấn đề nhưng sẽ hoạt động trở lại trong một thời gian ngắn. Khi blog/website của bạn gặp vấn đề do bị hack hoặc do lỗi màn hình trắng, chỉ cần thêm đoạn mã dưới đây vào tập tin .htaccess để chuyển hướng tất cả khách truy cập đến thông điệp của bạn tại maintenance.html.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

Vô hiệu hoá việc truy cập directory

Cho phép người lạ truy cập các tập tin và thư mục của bạn có thể là một nguy cơ lớn về bảo mật. Để vô hiệu hóa việc truy cập các thư mục, chỉ cần thêm đoạn mã sau đây vào tập tin .htaccess của bạn:

# disable directory browsing
Options All -Indexes

Chuyển hướng URL

301 redirects giúp bạn thông báo cho công cụ tìm kiếm rằng một URL đã chuyển hướng đến một vị trí mới. Chúng có thể được sử dụng để chuyển hướng một trang, thư mục hoặc thậm chí một trang web.

Do đó chúng rất hữu ích khi bạn thay đổi URL của site: có thể là do thay đổi tên miền, thay đổi cấu trúc permalink hoặc chỉ đơn giản là thay đổi tên site.

Để chuyển hướng một vị trí, tất cả những gì bạn cần làm là thêm một dòng với Redirect 301, tiếp theo là vị trí cũ và sau đó là vị trí mới. Bạn có thể xem cách làm việc này trong ví dụ dưới đây:

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html
Redirect 301 /oldfolder/page2.html /folder3/page7.html
Redirect 301 / http://www.mynewwebsite.com/