Trong một vài trường hợp, đặc biệt là khi bạn tạo một phiên bản thử nghiệm cho website của mình ở một domain khác thì sẽ có nhu cầu đồng bộ dữ liệu trong database giữa hai website với nhau nhanh chóng. Ví dụ như website A bạn vừa thay đổi một số tùy chọn trong website mà bạn cũng muốn website B được đổi theo thì có thể ứng dụng kỹ thuật đồng bộ dữ liệu này. Ngoài ra kỹ thuật này cũng được ứng dụng nhiều trong các việc khác như chuyển đổi dữ liệu giữa hai website.
Trong WordPress, bạn có thể làm được việc này rất tốt và chuyên nghiệp với plugin WP DB Sync hoàn toàn miễn phí. Cũng nên nói thêm rằng, plugin này là bản custom lại của một plugin tương tự WP Migrate DB nhưng nó có hỗ trợ các chức năng mà vốn chỉ có trong Migrate DB Pro (trả phí).
Chức năng của WP DB Sync
Giao diện của WP DB Sync
- Đồng bộ hóa toàn bộ cơ sở dữ liệu.
- Có thể tùy chỉnh đồng bộ một table bất kỳ.
- Hỗ trợ hai kiểu đồng bộ là Pull (gửi dữ liệu đi) và Push (lấy dữ liệu về).
- Nếu đồng bộ table wp_posts thì sẽ có thêm chức năng đồng bộ luôn các file ảnh với WP Sync Media File.
- Dễ sử dụng.
- Hỗ trợ SSL nếu có.
- Tự đổi địa chỉ của website khi mang database qua website đích.
- Tùy chọn post type được phép đồng bộ.
Cách sử dụng
Trước khi sử dụng, bạn cần lưu ý một điều là bạn nên sử dụng giữa hai website trên cùng một môi trường. Ví dụ như bạn có thể sử dụng giữa hai website trên host hoặc hai website trên localhost, còn nếu bạn có một website ở localhost và một website trên host thì website trên host sẽ không thể sử dụng phương thức Push cho localhost vì nó không kết nối được.
Pull
Pull nghĩa là bạn lấy một website để kéo dữ liệu của một website nào đó về. Trước tiên, bạn cần chắc chắn hai website đã cài plugin WP DB Sync
Bây giờ mình định nghĩa như sau:
Website A: Website cần gửi dữ liệu đi.
Website B: Website sẽ nhận dữ liệu
Sau đó mình vào website B -> Tools -> Migrate DB -> Settings và đánh dấu vào “accept pull request...” và copy cái Connection Info.
Sau đó vào website A -> Tools -> Migrate DB -> chọn Pull và copy cái connection info của website B vào.
Sau đó bạn có thể tùy chỉnh việc tự tìm kiếm một chuỗi dữ liệu nào đó và thay thế bằng chức năng Find Replace.
Hoặc bạn có thể tùy chỉnh bảng dữ liệu cần lấy về ở mục Table.
Cuối cùng là ấn Migrate DB để bắt đầu kéo dữ liệu về.
Push
Nếu Pull là phương thức lấy database về từ một website khác thì Push nghĩa là gửi database từ website hiện tại lên website khác.
Website A: Cần gửi dữ liệu đi.
Website B: Cần lấy dữ liệu về.
Cách sử dụng cũng y hệt như mình đã hướng dẫn ở trên, chỉ khác là bạn vào website B -> Tools -> Migrate DB -> Settings và đánh dấu “Accept push request….” và copy Connection Info. Sau đó vào website A -> Tools -> Migrate DB -> Push và dán cái Connection Info của website B vào.
Lời kết
Plugin này là câu trả lời cho rất nhiều câu hỏi về việc đồng bộ hóa cơ sở dữ liệu trong WordPress mà mình đã thấy rất nhiều bạn thắc mắc. Bạn có thể ứng dụng nó trong việc chuyển dữ liệu giữa các website với nhau hoặc phục vụ trong việc khác nâng cao hơn như Deployment chẳng hạn.
Nguồn: http://thachpham.com/
Thứ Ba, 21 tháng 4, 2015
Nhiều plugin WordPress phổ biến dính lỗi bảo mật
Mới đây (21/04/2015) mình nhận được một email thông báo của Sucuri cảnh báo rằng một số plugin đình đám hiện nay như SEO by Yoast, WPTouch, Jetpack, All in One SEO Pack, Updraft Plus, iThemes Exchange,…vừa tung ra một bản cập nhật khẩn cấp để vá lỗi bảo mật mà hacker có thể khai thác để tấn công bằng kỹ thuật XSS (Cross Site Scripting) và đây vốn là một kỹ thuật tấn công phổ biến chỉ đứng sau SQL Injection.
Nguyên nhân lỗi
Lỗi này ban đầu được Yoast de Valk đề cập với Sucuri khi Johannes Schmitt của Scrutinizer CI phản hồi với anh ta rằng plugin SEO by Yoast và Google Analytics by Yoast có một lỗ hổng do sử dụng sai cách hàm add_query_arg() và remove_query_arg() vốn được sử dụng vào mục đích truyền tham số được xác định trên URL vào truy vấn rồi gửi yêu cầu về database để lấy dữ liệu. Lý do được Joost mô tả rằng việc copy ví dụ của hai hàm này trên WordPress Codex và WordPress Development vô tình tạo ra một lỗ hổng vì nội dung ví dụ vốn có sẵn lỗ hổng đó (hiện đã được sửa).
Ngoài ra, Joost de Valk còn phát hiện rằng rất nhiều plugin (mà toàn plugin phổ biến) đều đang dính lỗi này nên có thể trong hôm qua hoặc hôm nay bạn sẽ nhận được nhiều yêu cầu cập nhật plugin, đây là lý do.
Nếu bạn là lập trình viên, mình khuyến khích bạn đọc bài viết của Sucuri để hiểu hơn về lỗi này.
Làm sao để cập nhật?
Đơn giản là bạn sẽ thấy thông báo cập nhật khi vào trang Dashboard của WordPress hoặc truy cập vào http://domain.com/wp-admin/update-core.php và ấn nút Check Update để xem có yêu cầu cập nhật nào mới không, nếu có thì nên cập nhật toàn bộ plugin của bạn.
Danh sách các plugin có lỗi này
- Jetpack
- WordPress SEO
- Google Analytics by Yoast
- All In one SEO
- Gravity Forms
- Multiple Plugins from Easy Digital Downloads
- UpdraftPlus
- WP-E-Commerce
- WPTouch
- Download Monitor
- Related Posts for WordPress
- My Calendar
- P3 Profiler
- Give
- Multiple iThemes products including Builder and Exchange
- Broken-Link-Checker
- Ninja Forms
Nguồn: http://thachpham.com
Nguyên nhân lỗi
Lỗi này ban đầu được Yoast de Valk đề cập với Sucuri khi Johannes Schmitt của Scrutinizer CI phản hồi với anh ta rằng plugin SEO by Yoast và Google Analytics by Yoast có một lỗ hổng do sử dụng sai cách hàm add_query_arg() và remove_query_arg() vốn được sử dụng vào mục đích truyền tham số được xác định trên URL vào truy vấn rồi gửi yêu cầu về database để lấy dữ liệu. Lý do được Joost mô tả rằng việc copy ví dụ của hai hàm này trên WordPress Codex và WordPress Development vô tình tạo ra một lỗ hổng vì nội dung ví dụ vốn có sẵn lỗ hổng đó (hiện đã được sửa).
Ngoài ra, Joost de Valk còn phát hiện rằng rất nhiều plugin (mà toàn plugin phổ biến) đều đang dính lỗi này nên có thể trong hôm qua hoặc hôm nay bạn sẽ nhận được nhiều yêu cầu cập nhật plugin, đây là lý do.
Nếu bạn là lập trình viên, mình khuyến khích bạn đọc bài viết của Sucuri để hiểu hơn về lỗi này.
Làm sao để cập nhật?
Đơn giản là bạn sẽ thấy thông báo cập nhật khi vào trang Dashboard của WordPress hoặc truy cập vào http://domain.com/wp-admin/update-core.php và ấn nút Check Update để xem có yêu cầu cập nhật nào mới không, nếu có thì nên cập nhật toàn bộ plugin của bạn.
Danh sách các plugin có lỗi này
- Jetpack
- WordPress SEO
- Google Analytics by Yoast
- All In one SEO
- Gravity Forms
- Multiple Plugins from Easy Digital Downloads
- UpdraftPlus
- WP-E-Commerce
- WPTouch
- Download Monitor
- Related Posts for WordPress
- My Calendar
- P3 Profiler
- Give
- Multiple iThemes products including Builder and Exchange
- Broken-Link-Checker
- Ninja Forms
Nguồn: http://thachpham.com
Đăng ký:
Bài đăng (Atom)