26/11/18

Lỗi SERVER 500 khi upload website lên Hosting (Trang trắng không hiển thị gì)

Khi chúng ta upload website lên hosting đôi khi website không hoạt động mặc dù đã dưới localhost thì chạy bình thường.
Sau khi chúng ta kiểm tra tất cả tên database và tất cả. thì chúng ta quên mất 1 việc cực kỳ quan trọng đó là phiên bản PHP.

Các bạn chỉnh lại phiên bản PHP nhé thường thì 5.6 (tại thời điểm 2018).


Ngoài ra cũng còn một số nguyên nhân khác: Là các bạn đổi tên một số Plugin bảo mật đi nhé

Đơn giản vậy thôi mà sửa mãi không được :)). Chúc các bạn thành công.

30/10/18

Hướng dẫn sửa lỗi SSL trong WordPress một cách đơn giản.

SSL (HTTPS) ngày càng trở nên phổ biến sau khi Google công bố họ sẽ ưu tiên các blog/ website sử dụng giao thức HTTPS trên bảng xếp hạng kết quả tìm kiếm. Trong WordPress, các bạn có thể cài đặt SSL một cách dễ dàng với sự trợ giúp của các plugin như WordPress HTTPS (SSL) hay Really Simple SSL. Tuy nhiên, chúng chưa thực sự “hoàn hảo” dẫn đến vẫn còn tồn tại một số lỗi SSL. Cụ thể là nhiều thành phần vẫn chưa thực sự hoạt động trên giao thức HTTPS khiến cho trình duyệt web không hiển thị biểu tượng ổ khóa màu xanh và dòng chữ “Secure” (bảo mật).

Điều này có thể khiến cho blog/ website của bạn kém an toàn và giảm mức độ uy tín trong mắt khách hàng. Đừng quá lo lắng, hôm nay, tôi sẽ hướng dẫn cho các bạn cách sửa lỗi SSL trong WordPress một cách đơn giản và nhanh chóng, bất cứ ai cũng có thể tự làm được.

Nguyên nhân khiến trình duyệt web không hiển thị ổ khóa bảo mật

Toàn bộ các file tĩnh trên website của bạn (JS, CSS, hình ảnh, web font…) chưa hoạt động trên giao thức HTTPS, đó chính là nguyên nhân khiến cho trình duyệt web không hiển thị ổ khóa bảo mật trên thanh địa chỉ.

Để kiểm tra xem những file nào đang chạy giao thức HTTP kém bảo mật, trên trình duyệt Google Chrome, các bạn click chuột phải vào giao diện website, chọn Inspect (hoặc bấm phím F12) rồi chọn tiếp tab Console. Danh sách các file gây lỗi SSL sẽ được bắt đầu bằng cảnh báo “Mixed Content” tương tự như hình bên dưới:


Nếu các file này được load từ website khác (không hỗ trợ HTTPS), cách duy nhất là tìm kiếm và loại bỏ chúng hoặc thay thế bằng một file khác tương đương được tải từ website của bạn với giao thức HTTPS.

Nếu các file này được load từ website của bạn, hãy tham khảo bài viết “Cài HTTPS cho WordPress trong nháy mắt với Really Simple SSL” để sửa lỗi SSL một cách nhanh chóng.

Ngoài ra, các bạn còn có thể sử dụng plugin SSL Insecure Content Fixer để xử lý vấn đề theo một phương pháp đơn giản hơn.

Sửa lỗi SSL trong WordPress với SSL Insecure Content Fixer

1. Đầu tiên, các bạn cần phải cài đặt và kích hoạt plugin SSL Insecure Content Fixer.


2. Tiếp theo, truy cập vào Settings => SSL Insecure Content. Tại đây, các bạn sẽ thấy một số tùy chọn như sau:


Trong đó:

Fix insecure content: lựa chọn level (cấp độ) sửa lỗi nội dung không bảo mật, được sắp xếp từ thấp đến cao: Off < Simple < Content < Widgets < Capture. Các bạn nên thử bắt đầu từ mức độ Simple, cho đến khi các lỗi SSL được khắc phục hoàn toàn (trình duyệt hiển thị ổ khóa màu xanh, không bị tam giác màu vàng trên ổ khóa nữa).

Fixes for specific plugins and themes: chỉ lựa chọn nếu website của bạn sử dụng các plugin như WooCommerce. Nếu không, hãy để trống cả 2 tùy chọn trong mục này.

HTTPS detection: lựa chọn cách WordPress phát hiện một trang được tải thông qua giao thức HTTPS (standard WordPress function – tính năng mặc định của WordPress; 

HTTP_X_FORWARDED_PROTO – lựa chọn nếu bạn có sử dụng load balancer, reverse proxy, NginX; HTTP_X_FORWARDED_SSL – lựa chọn nếu bạn sử dụng reverse proxy; HTTP_CF_VISITOR – lựa chọn nếu bạn sử dụng Flexible SSL của CloudFlare; unable to detect HTTPS – không phát hiện HTTPS).

Click vào nút Save Changes để lưu lại các thiết lập.

3. Truy cập website của bạn và kiểm tra xem các lỗi SSL đã được khắc phục triệt để chưa nhé. Chúc các bạn thành công!

Cài HTTPS cho WordPress với plugin Really Simple SSL

Lưu ý: bạn cần phải cài đặt thành công SSL lên hosting trước khi có thể cài đặt giao thức HTTPS lên website WordPress.

1. Đầu tiên, các bạn cần cài đặt và kích hoạt plugin Really Simple SSL.



2. Tiếp theo, các bạn truy cập vào Settings => SSL và kiểm tra xem trạng thái của plugin đã đạt đủ 4 dấu tick màu xanh hay chưa. Nếu rồi thì có nghĩa là site của bạn đã vận hành hoàn hảo trên giao thức HTTPS.


Riêng đối với HTTP Stric Transport Security (HSTS), các bạn có thể tham khảo bài viết “Cấu hình HSTS cho blog/ website thông qua file .htaccess” để cấu hình mà không cần nâng cấp lên bản trả phí của plugin Really Simple SSL.

3. Nếu vẫn có lỗi khiến cho trình duyệt không hiện ổ khóa màu xanh, hãy chuyển qua tab Settings và kiểm tra xem 2 mục Auto replace mixed content và Enable Javascript redirection to SSL đã được tick hay chưa.



Ngoài ra:

Nếu bạn sử dụng web server NginX hoặc các web server không hỗ trợ file .htaccess, hãy tick thêm vào mục Enable WordPress 301 redirection to SSL để redirect bằng tính năng redirection của WordPress.

Nếu bạn sử dụng web server Apache hoặc LiteSpeed (có hỗ trợ file .htaccess), hãy tick thêm vào mục Enable 301 .htaccess redirect để chèn code redirect vào file .htaccess.
Các bạn cũng có thể tick đồng thời cả 2 mục này. Click vào nút Save để lưu lại và kiểm tra kết quả. Chúc các bạn thành công!

Sau khi cài HTTPS cho website, đừng quên truy cập Google Search Console và Google Analytics để khai báo lại URL với giao thức mới nhé. Tham khảo link ở phần đầu bài viết này để biết thêm chi tiết.

Các bước cài đặt chứng chỉ số SSL miễn phí Let's Encrypt trên DirectAdmin bắt buộc phải làm

Hiện nay Let's Encrypt đang cung cấp chứng chỉ SSL miễn phí duy nhất trên thế giới.

1. Các bước chuẩn bị

Đầu tiên Quý Khách cần có 1 Hosting, tên miền và source code. Có thể là website đang sử dụng hoặc lập mới website.
Thông tin tài khoản Hosting và tên miền sẽ cần đến cho các thao tác tiếp theo



2. Kích hoạt SSL miễn phí Let's Encrypt trên Hosting DirectAdmin

Các Quý Khách đăng nhập vào Hosting sau đó click Home => Domain Setup => click chọn domain đang cần cài đặt SSL. Quan trọng nhất Quý Khách phải tích chọn 2 ô như hình dưới đây:
Secure SSL và Use a symbolic link from private_html to public_html - allows for same data in http and https Sau đó click "Save"


Kích hoạt SSL miễn phí Let's Encrypt trên Hosting DirectAdmin

Như vậy là Quý Khách đã cài đặt để Hosting hiểu rằng Quý Khách đang muốn sử dụng giao thức https thay vì http. Và dữ liệu https thay vì lấy trong thư mục private_html thì lấy luôn từ public_html

Kích hoạt SSL Let's Encrypt miễn phí trên Hosting Directadmin

Sau khi đăng nhập Hosting DirectAdmin Quý Khách hãy click "SSL Certificates" trong mục advanced features (Gần phía cuối bên trái)

Tích chọn ô 1 và 2 như ảnh dưới đây. Mục 3 điền email của Quý Khách (Không cần email theo tên miền đang kích hoạt SSL - mail bất kỳ của Quý Khách). Key Size (bits), Certificate Type chọn như hình dưới đây. Sau đó kéo chuột xuống dưới và click save.

Free & automatic certificate from Let's Encrypt

=> Như vậy việc cài đặt SSL đã hoàn tất. Quý Khách truy cập https sẽ không bị cảnh báo trình duyệt nữa. Tuy nhiên biểu tượng https có thể không là màu xanh, Truy cập http, https đều được (Như vậy không tốt cho SEO) Vì Vậy Quý khách hãy tiếp thao tác số 4 nhé.


4. Direct domain www sang non-www giao thức https bằng file .htaccess

Thêm vào đoạn sau: (Thay abc.vn bằng tên miền của Quý Khách)

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}:443%{REQUEST_URI} [END]

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.abc.vn [NC]
RewriteRule ^(.*)$ https://abc.vn/$1 [L,R=301]

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?option=$1 [L,QSA]


=> Như vậy là hoàn tất Việc cài đặt SSL cho domain của Quý Khách rồi đó.

======================================
Cài HTTPS cho WordPress trong nháy mắt với Plugin in Really Simple SSL

Fix mixed content when migrating site to HTTPS (tutorial)==> Cài plugin (Better Search replace) hoặc vào database edit lại 

Bảo mật WordPress như thế nào?

  • Giới thiệu
  • Bạn cần gì?
  • Bước 1 – Cập nhật WordPress cho website
  • Bước 2 – Bảo mật WordPress bằng thông tin đăng nhập “thông minh”
  • Bước 3 – Kích Hoạt Bảo Mật WordPress 2 Lớp
  • Bước 4 – Tắt báo cáo lỗi PHP Error
  • Bước 5 – Không dùng WordPress Themes null
  • Bước 6 – Quét WordPress để loại malware khỏi website WordPress
  • Bước 7 – Chuyển Website WordPress  tới một hosting bảo mật hơn
  • Bước 8 – Lưu trữ thường xuyên
  • Bước 9 – Tắt chức năng File Editing
  • Bước 10 – Xóa Themes và Plugins không dùng
  • Bước 11 – Sử dụng .htaccess để bảo mật tốt hơn
  • Bước 12 – Đổi database prefix của WordPress để ngăn chặn SQL injections
  • Lời kết

Giới thiệu

WordPress là nền tảng quản trị nội dung lớn nhất thế giới. Nó chạy trên tới 4.5% của toàn bộ website trên thế giới Internet và đã được cài hơn 76.5 triệu lần. Thật không may là mặc dù phổ biến như vậy, theo thông từ báo cáo hack của Securi, một công ty chuyên về bảo mật. WordPress là CMS dễ bị hack nhất trên thế giới. Nhưng đừng hốt hoảng nhé các bạn, nếu thực hiện đúng cách, bạn sẽ gia cố lớp bảo mật WordPress lên tầm cao mới, hãy theo dõi các ví dụ cũng như các hướng dẫn thực tế bên dưới, đó là các biện pháp hữu hiệu nhất nhằm tăng cường bảo mật trong WordPress.

Bạn cần gì?

Trước khi bắt đầu bạn cần biết::
  • Truy cập vào trang Administrator của WordPress
  • Truy cập vào tài khoản hosting của bạn (tùy chọn)

Bước 1 – Cập nhật WordPress cho website

Bước đầu tiên và cũng là bước quan trọng nhất trong tất cả các bước bảo mật WordPress. Nếu muốn website sạch và không có malware bạn cần giữ cho WordPress luôn được cập nhật. Mặc dù chắc ai cũng biết điều này, nhưng thực tế chỉ có 22% bản cài WordPress chạy với phiên bản mới nhất trên thế giới, tức là có tới 78% website không an toàn, chẳng trách WordPress bị nói là CMS dễ bị hack nhất!
WordPress có thiết lập tự động cập nhật từ bản 3.7, tuy nhiên, nó chỉ hiệu quả với các cập nhật bảo mật nhỏ. Vì vậy, các cập nhật chính nên được làm thủ công. Trong trường hợp bạn không biết cách cập nhật WordpPress, xem hướng dẫn này (tiếng Anh)

Bước 2 – Bảo mật WordPress bằng thông tin đăng nhập “thông minh”

Đừng sử dụng admin làm WordPress administrator username nhé, tất cả mọi người đều biết admin là tên mặc định rồi! Nếu đang dùng tức là bạn đang giúp hacker một tay để vào được trang quản trị dễ dàng. Việc đổi thông tin quản trị, tên đăng nhập sang một tên khác thay vì là admin là rất quan trọng hoặc tạo một tài khoản Administrator mới và xóa cái cũ. Làm các bước sau nếu bạn chọn cách sau:
  1. Vào WordPress Dashboard
  2. Chuyển tới mục Users và chọn Add New.

  3. Tạo user mới và cấp quyền administrator cho nó.

  4. Đăng nhập lại WordPress với thông tin mới
  5. Xóa tài khoản admin cũ.

Password phức tạp cũng đóng góp một phần không nhỏ để bảo mật WordPress. Sẽ rất khó khăn để tấn công BruteForce nếu bạn có chữ thường, chữ hoa, số và ký tự đặc biệt. Nhưng công cụ như LastPass và 1Password có thể giúp tạo password phức tạp.

Bước 3 – Kích Hoạt Bảo Mật WordPress 2 Lớp

Bảo mật 2 lớp tạo thêm lần bảo mật nữa cho quá trình đăng nhập của bạn. Hầu hết được dùng cho email, tài khoản ngân hàng. Tại sao không dùng trên WordPress?
Rất đơn giản để cài trên WordPress blog. Bạn chỉ cần cài app bảo mật 2 lớp cho WordPress. Bạn có thể xem hướng dẫn chi tiết làm thế nào để kích hoạt bảo mật 2 lớp trên WordPress tại đây (tiếng Anh).

Bước 4 – Tắt báo cáo lỗi PHP Error

Báo cáo lỗi PHP error cần được bật nếu bạn đang lập trình website và muốn mọi thứ chạy trơn tru. Tuy nhiên, hiển thị lỗi cho tất cả mọi người xem là hoàn toàn không nên, đặc biệt là khi bạn đang cần bảo mật cho WordPress.
Bạn không cần phải là lập trình viên để làm việc này trên WordPress. Nhiều nhà cung cấp hosting như Hostinger cho phép tắt báo cáo lỗi trong trang quản trị. Nếu không có, chỉ cần thêm dòng sau vào file wp-config.php. Bạn có thể dùng FTP client hoặc Quản lý File trong control panel để sửa file wp-config.php.
error_reporting(0);
@ini_set(‘display_errors’, 0);
Vậy thôi. Báo cáo lỗi đã được tắt

Bước 5 – Không dùng WordPress Themes null

Hãy nhớ – “Phô mát miễn phí ở trong bẫy chuột”. Chúng ta cũng có thể áp dụng câu nói đó cho nulled WordPress themes và plugins.
Có hàng ngàn nulled plugins và themes trôi nổi trên Internet. Người dùng có thể download chúng tại một số trang Warez hoặc Torrent site miễn phí. Nhưng họ không biết rằng hầu hết trong số chúng đều chứa mã độc, thậm chí trớ trêu thay là chúng nằm trong cả những plugin bảo mật WordPress, nhẹ hơn là SEO links của hacker mũ đen sẽ khiến website của bạn không bao giờ lên top nỗi. Nếu cài những bản này lên hosting, tức là website WordPress của bạn đang hoàn toàn không an toàn, và đang phơi nhiễm trước những lỗ hổng mà hacker đã tạo ra từ bên trong.
Ngừng dùng nulled plugins và themes ngay hôm nay là một trong các cách tốt nhất để bảo mật website WordPress. Nó không những vi phạm bản quyền mà còn ảnh hướng lớn đến tính bảo mật WordPress. Bạn có thể phải thanh toán nhiều tiền hơn cho lập trình viên để dọn dẹp website của bạn so với việc bỏ tiền ra mua theme hay plugin cần thiết.

Bước 6 – Quét WordPress để loại malware khỏi website WordPress

Hackers thường dùng các lỗ hổng của themes hoặc plugin để cài mã độc lên WordPress. Vì vậy, việc quét blog của bạn thường xuyên là rất quan trọng. Có rất nhiều plugin bảo mật WordPress tốt hiện nay. WordFence nổi bật nhất. Nó cho phép scan thủ công và tư động với nhiều thiết lập khác nhau. Bạn có thểm thậm chí restore files được chỉnh sửa và đã nhiễm mã độc với chỉ một vài cú click chuột. MIễn phí và mã nguồn mở, thực tế chỉ vậy thôi đã đủ để bạn cài ngay rồi phải không? Còn chờ gì nữa.
Một số plugin bảo mật WordPress tốt khác:
  • BulletProof Security – không giống WordFence, BulletProof không quét các files của bạn, mà chỉ cung cấp firewall, bảo mật database, và tương tự. Ưu điểm đặc biệt nhất là nó có thể được cấu hình và cài đặt trong vài cú click.
  • Sucuri Security – plugin bảo mật WordPress này sẽ bảo vệ bạn khỏi tấn công DOS, nó sẽ tạo một danh sách đen, quét website của bạn để phát hiện malware và quản lý tường lửa. Nếu phát hiện, nó sẽ thông báo qua email, Google, Norton, McAfee – các blacklist của những bộ máy này sẽ được tích hợp trong plugin này..
Hãy thử dùng tất cả. Bạn có thể tham khảo cách cài WordPress plugin tại đây.

Bước 7 – Chuyển Website WordPress  tới một hosting bảo mật hơn

Có vẻ lạ nhưng thống kê cho biết có hơn 40% website WordPress bị hack vì lỗi hổng bảo mật của trong tài khoản hosting của bạn. Chỉ cần con số này thôi đã đủ khiến bạn cân nhắc đổi hosting, và chuyển WordPress tới một hosting bảo mật hơn, như Hostinger với BitNinja Smart Security. Có một số yếu tố thực tế khiến bạn cân nhắc chọn hosting mới:
  • Nếu là shared hosting, hãy đảm bảo tài khoản của bạn tách khỏi các tài khoản thành viên khác và không có rủi ro nào một website ảnh hưởng toàn bộ website khác trên server.
  • Có chức năng backup tự động.
  • Phải có tường lửa và công cụ quét virus

Bước 8 – Lưu trữ (Backup) thường xuyên


Kể cả website  lớn cũng có thể bị hack mỗi ngày kể cả khi thực tế chủ web đã tốn hàng nghìn đô la để gia tăng bảo mật website WordPress và cài hàng loạt plugin bảo mật WordPress.
Nếu bạn đang thực hiện theo hướng dẫn này và làm đầy đủ các bước, vẫn rất quan trọng để bạn backup WordPress website thường xuyên.
Có nhiều cách để backup, ví dụ như tải file WordPress về và xuất database ra hoặc sử dụng backup từ nhà cung cấp hosting của bạn. Có một cách khác là sử dụng WordPress Plugin. Phổ biến nhất là::
Bạn có thể backup và chuyển bacup sang dropbox qua WordPress backups vào Dropbox (hướng dẫn tiếng Anh). Backup là cách đơn giản và nhất để bảo mật cho WordPress, vì việc khôi phục từ file backup dễ hơn so với việc rà lỗi và xóa malware đi.

Bước 9 – Tắt chức năng File Editing

Như bạn biết, WordPress đã xây dựng chỉnh sửa file bên trong nhằm cho chép chỉnh sửa file gốc WordPress. Mặc dù rất tiện lợi, nhưng nó cũng có thể gây hại. Nếu hacker có quyền sử dụng vào trong dashboard của bạn, điều đầu tiên hắn nghĩ tới là FIle Editors, nhiều người dùng WordPress tắt hoàn toàn chức năng này ngay từ khi cài để tăng tính bảo mật WordPress files.  Nó có thể được tắt bằng cách sửa file wp-config.php thêm vào dòng code sau:
define( 'DISALLOW_FILE_EDIT', true );
Đó là tất cả những gì bạn cần biết để tắt phần mềm chỉnh sửa file trong WordPress.
QUAN TRỌNG, trong trường hợp muốn mở lại tính năng này, hãy dùng FTP clietn hoặc file manager của nhà cung cấp hosting của bạn và xóa dòng code trên khỏi wp-config.php file.

Bước 10 – Xóa Themes và Plugins không dùng

Dọn dẹp site WordPress của bạn và xóa những plugins hoặc themes không sử dụng cũng là một cách tốt để bảo mật cho WordPress. Hacker có thể quét những themes và plugins lỗi thời (kể cả plugin chính thức của WordPress) để truy cập vào trang Dashboard và upload phần mềm độc hại lên server của bạn. Bằng cách xóa plugins và themes bạn đã ngừng sử dụng (hoặc quên cập nhật) từ lâu, bạn đã giảm nguy cơ bị tấn công và giúp WordPress Site của bạn trở nên bảo mật hơn.

Bước 11 – Sử dụng .htaccess để bảo mật tốt hơn

.htaccess file được dùng để khiến các liên kết WordPress hoạt động. Không có các lệnh đúng trong .htaccess file ban sẽ gặp rất nhiều lỗi 404.
Rất nhiều người không biết .htaccess có thể tăng tính bảo mật website WordPress. Ví dụ, với .htaccess, bạn có chặn truy cập hoặc vô hiệu việc thực thi PHP trên một thư mục được chỉ định. Bên dưới là cách giúp bạn làm thế nào để dùng .htaccess để tăng tính bảo mật của WordPress.
QUAN TRỌNG Trước khi bắt đầu thực thi bất kỳ thay đổi nào, chúng tôi khuyên bạn cần backup file .htaccess cũ. Bạn có thể dùng FTP client hoặc File Manager để làm việc này.

Chặn truy cập tới trang quản trị WordPress

Dòng mã bên dưới chặn truy cập vào WordPress Administrator và chỉ cho phép một số địa chỉ IPs được chỉ định:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xxx
allow from xx.xx.xx.xxx
</LIMIT>
Lưu ý là bạn cần đổi XX.XX.XX.XXX tới địa chỉ IP của bạn. Bạn có thể dùng website này để xem IP hiện hành. Nếu bạn muốn dùng nhiều kết nối hơn để quản lý WordPress site, hãy đảm bảo tất cả IPs quản trị đã được thêm vào (bạn có thể thêm bao nhiêu dòng cũng được). Đoạn script trên không được khuyên dùng khi bạn có IP động.

Tắt khả năng thực thi PHP trong thư mục được chỉ định

Kẻ tấn công thích upload các scripts độc hại lên thư mục WordPress. Mặc định thư mục này được dùng để chứa file đa phương tiện. Vì vậy nó không nên được dùng để chứa file PHP. Bạn có thể dễ dàng vô hiệu chức năng thực thi PHP bằng cách tạo một file .htaccess trong thư mục /wp-content/uploads/ với các lệnh như sau:
<Files *.php>
deny from all
</Files>

Bảo vệ WordPress file wp-config.php

wp-config.php file chứa các cài đặt WordPress cốt lõi và thông tin chi tiết MySQL databases. Vì vậy đây là một file WordPress quan trọng nhất, cũng là file chính mà hacker thường nhắm tới để tấn công WordPress. Tuy nhiên, bạn có thể dễ dàng bảo vệ file này bằng lệnh sau trong .htaccess:
<files wp-config.php>
order allow,deny
deny from all
</files>

Bước 12 – Đổi database prefix của WordPress để ngăn chặn SQL injections

WordPress database chứa và lưu trữ tất cả những thông tin quan trọng nhất để site hoạt động. Vì vậy, nó trở thành một mục tiêu rất hấp dẫn cho hacker và spammer muốn thực thi các mã tự động để thực hiện SQL injection. Khi cài đặt WordPress, hầu hết mọi người không đổi prefix mặc định của WordPress là wp_. Dựa theo WordFence, 1 trong 5 trường hợp hacking WordPresss là dựa vào SQL injections. Khi wp_ được đặt mặc định, hacker sẽ chọn giá trị này để tấn công trước. Với bước này, bạn sẽ bảo vệ WordPress khỏi kiểu tấn công như vậy.

Đổi table prefix cho site WordPress đã có sẵn

QUAN TRỌNG! An toàn là tốt nhất. Hãy chắc rằng bạn đã backup/export WordPress MySQL database của bạn trước khi thực hiện.

Phần 1 – Đổi prefix trong file wp-config.php

Sử dụng FTP client hoặc File Manager để sửa file wp-config.php và tìm giá trị $table_prefix.

Bạn có thể thêm số, chữ, hoặc gạch dưới. Sau đó, lưu lại và tiếp tục theo bước sau. Trong bài hướng dẫn này, chúng tôi sử dụng wp_1secure1_ như cho table prefix.
Khi đang ở trong file wp-config.php, bạn hãy tìm tên database, để biết bạn cần chỉnh sửa database nào. Tìm mục define(‘DB_NAME’ section.


Phần 2 – Cập nhật các bảng databases

Bây giờ, bạn sẽ cần cập nhật tất cả các entries trong database WordPress của bạn. Việc này có thể được thực hiện bằng thay đổi trong phpMyAdmin.


Tìm database bạn cần sửa ở phần 1 và truy cập vào phpmyadmin

Mặc định WordPress có 12 bảng và tất cả cần được cập nhật. Tuy nhiên, bạn có thể làm nhanh hơn bằng cách vào mục SQL trong phpMyadmin.


Bạn có thể dùng các lệnh sau để đổi hàng loạt prefix cho tất cả các bảng trong database:
RENAME table `wp_commentmeta` TO `wp_1secure1_commentmeta`;
RENAME table `wp_comments` TO `wp_1secure1_comments`;
RENAME table `wp_links` TO `wp_1secure1_links`;
RENAME table `wp_options` TO `wp_1secure1_options`;
RENAME table `wp_postmeta` TO `wp_1secure1_postmeta`;
RENAME table `wp_posts` TO `wp_1secure1_posts`;
RENAME table `wp_terms` TO `wp_1secure1_terms`;
RENAME table `wp_termmeta` TO `wp_1secure1_termmeta`;
RENAME table `wp_term_relationships` TO `wp_1secure1_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_1secure1_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_1secure1_usermeta`;
RENAME table `wp_users` TO `wp_1secure1_users`;
Một vài WordPress themes hoặc plug-ins có thể tạo thêm bảng khác trong database. Trong trường hợp bạn có nhiều hơn 12 bảng trong MySQL database, thêm các bảng còn thiếu vào trong danh sách và thực thi nó.

Phần 3 – Kiểm tra bảng options và usermeta

Tùy thuộc vào số lượng plugins bạn đã cài đặt, nhiều giá trị trong database cần được cập nhật thủ công. Việc này có thể được làm qua bảng options  và usermeta bằng cách queries SQL riêng.
Với bảng options bạn có thể dùng:
SELECT * FROM `wp_1secure1_options` WHERE `option_name` LIKE '%wp_%'
Với bảng usermeta bạn có thể dùng:
SELECT * FROM `wp_1secure1_usermeta` WHERE `meta_key` LIKE '%wp_%'
Khi bạn đã có kết quả SQL query, chỉ cần cập nhật tất cả các giá trị từ wp_ tới prefix mới và như vậy đã hoàn tất. Trong bảng usermeta bạn sẽ có thể đổi trường meta_key, còn với bảng options, giá trị option_name cần được thay đổi.


Bảo mật WordPress khỏi việc cài đặt lại mới
Nếu bạn muốn cài đặt WordPress site mới, bạn sẽ không thực hiện các bước trên nữa. Bạn chỉ cần đơn giản đổi table trong quá trình cài đặt:


Chúc mừng! Bạn đã giúp WordPress thoát khỏi kiểu tấn công SQL injection.

Lời kết

Mặc dù WordPress là một CMS bị hack nhiều nhất trên thế giới. Tuy nhiên, không khó khăn để tăng tính bảo mật WordPress của nó. Trong bài hướng dẫn này chúng tôi đã cung cấp đủ 12 thủ thuật quan trọng nhất để bạn làm theo nhằm giúp website của bạn bảo mật hơn rất nhiều, và hãy quên đi nỗi lo bị hack để tập trung xây dựng nội dung hơn.

13/6/18

17/10/17

Thay đổi table prefix sau khi cài đặt WordPress cách 1

Nếu tiền tố bảng (table prefix) là `wp_` hoặc `wp1_` hoặc thậm trí `wordpress_` , việc bạn thay đổi tiền này sẽ làm tăng bảo mật để bảo vệ CSDL WordPress của bạn.

Mặc định khi cài đặt WordPress, tiền tố `wp_` được thiết lập cho mỗi bảng được tạo. Điều này mọi người dùng WordPress đều biết nó sẽ rất dễ để hacker tấn công vào dữ liệu.

Mọi người sẽ cố gắng truy vấn và thay đổi dữ liệu trong bảng wp_options, làm thay đổi giao diện website. Họ có thể thiết lập chuyển hướng đến site của họ.

Nếu bạn đã có một website xây dựng bởi wordpress, để tăng tính bảo mật tránh hacker có kẽ hở tấn công vào dữ liệu quan trọng bạn sửa lại file cấu hình wp-config.php
hoặc sửa trong database thông qua phpMyadmin trong cpanel.

// Entry in config.php showing wordpress table prefix used in the installation

$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!

Hacker có thể dễ dàng gửi một đoạn mã Javascript nhạy cảm nhằm lấy thông tin bất hợp pháp, để cố gắng thử chạy lệnh SQL vào các bảng có tiền tố wp_. Để làm cho WordPress tăng tính bảo mật thực sự, bạn hãy thay đổi tiền tố với một tên khó đoán. Tôi sẽ chọn một tên giống như bạn đặt mật khẩu, nhưng không chứa ký tự đặc biệt, chỉ chứa số, chữ hoặc dấu _

Để thực hiện an toàn, vui lòng làm theo 6 bước sau:

1. Sao lưu dữ liệu

Bởi vì thao tác này sẽ thay đổi cấu trúc bảng WordPress, trước tiên bạn nên backup lại. Trong cPanel nhấn vào biểu tượng “Backups” và nhấn vào “Generate/Download a full Backup” và chọn “Home Directory Backup”.

2. Sửa file wp-config.php
Tìm:
$table_prefix = 'wp_';

Đổi lại với tên bảo mật hơn:

$table_prefix = ‘op2mro445_’;

3. Thay đổi lại tất cả tên bảng WordPress

Truy cập phpMyAdmin và chọn tên cơ sở dữ liệu. Nhấn vào menu sql và nhập lệnh sau để đổi tên các bảng WordPress. Thực hiện lần lượt các bảng.

Chú ý: bạn có thể có nhiều bảng có tiền tố bắt đầu bằng `wp_`, thay đổi tất cả các bảng này.
Copy & dán từng dòng lệnh SQL sau vào cửa sổ và n

Rename table wp_commentmeta to op2mro445_commentmeta;
Rename table wp_comments to op2mro445_comments;
Rename table wp_links to op2mro445_links;
Rename table wp_options to op2mro445_options;
Rename table wp_postmeta to op2mro445_postmeta;
Rename table wp_posts to op2mro445_posts;
Rename table wp_terms to op2mro445_terms;
Rename table wp_term_relationships to op2mro445_term_relationships;
Rename table wp_term_taxonomy to op2mro445_term_taxonomy;
Rename table wp_usermeta to op2mro445_usermeta;
Rename table wp_users to op2mro445_users;

4. Sửa wp_options

Duyệt dữ liệu bảng trong phpMyAdmin, nhìn dữ liệu dưới cột `option_name` và thay đổi `wp_user_roles` thành `op2mro445_user_roles`.

Lưu ý: `wp_user_roles` có thể không hiển thị ở trang 1, chuyển trang đến khi bạn tìm thấy.

5. Sửa wp_usermeta

Cuối cùng thay đổi dữ liệu trong bảng `op2mro445_usermeta`. Duyệt dữ liệu bảng với phpMyAdmin bằng cách nhấn vào tên bảng ở cột trái và nhấn nút Browse. Thay đổi mọi giá trị ở cột meta_key, mà có bắt đầu bằng `wp_` thành tên tiền tố mới `op2mro445_` hoặc tên khác bạn chọn ở bước trước đó.

wp_capabilities to op2mro445_capabilities
wp_autosave_draft_ids to op2mro445_autosave_draft_ids
wp_user_level  to op2mro445_user_level
wp_usersettings to op2mro445_usersettings
Bạn có thể chạy một lệnh trong phpMyAdmin để tìm ra các bản ghi cần sửa đổi.
Để thực hiện, nhấn vào liên kết Search. Thêm điều kiện (meta_key like `wp_%`), và nhấn nút GO.


6. Hoàn thành! Thử lại WordPress có hoạt động đúng?

Sau khi wordpress site đã hoàn động trở lại, bạn có thể tạo backup cho bản sửa đổi này. Chúc bạn thành công.

14/9/17

Custom Trang Checkout Woocommerce Thành 2 Cột

Để Custom Trang Checkout Woocommerce Thành 2 Cột chúng ta cần lập trình đoạn code sau:
Remove và reorder và rename lại label của các field checkout

Sắp Xếp Sản Phẩm Trong Woocommerce Theo Ý Người Quản Trị

Để Sắp Xếp Sản Phẩm Trong Woocommerce Theo Ý Người Quản Trị: Chúng ta Thêm cột thứ tự vào bảng quản lý sản phẩm của woocommerce

Hướng Dẫn Custom Woocommerce – Phần 1

Hướng Dẫn Custom Woocommerce – Phần 1
Theme đã hỗ trợ woocommerce
Copy tất cả file trong folder templates nằm trong folder của plugin woocommerce vào folder theme hiện hành và đổi tên thành woocommerce