Để triển khai hệ thống cấp mã bản quyền cho plugin WordPress mà không sử dụng cơ sở dữ liệu, bạn cần xây dựng mã cho hai phần chính của hệ thống: Website A (quản lý và cấp mã bản quyền) và Website B (plugin WordPress kiểm tra mã bản quyền).
Website A: Hệ thống cấp mã bản quyền
Website A có chức năng tạo và quản lý mã bản quyền. Để thực hiện điều này, bạn cần một hệ thống API hoặc một trang quản trị để người dùng có thể yêu cầu mã bản quyền, và bạn sẽ cấp mã này cho họ.
Bước 1: Tạo API Cấp Mã Bản Quyền trên Website A
Website A có thể tạo một API để cấp mã bản quyền. Khi người dùng nhập thông tin (ví dụ: email) trên website A, API này sẽ tạo mã bản quyền và trả về cho người dùng.
Tạo API cấp mã bản quyền: Giả sử bạn sử dụng PHP để tạo API.
- Tạo API để cấp mã bản quyền:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
// api/license.php <?php // Giới hạn quyền truy cập header('Content-Type: application/json'); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $data = json_decode(file_get_contents('php://input'), true); // Kiểm tra email người dùng if (isset($data['email'])) { $email = sanitize_email($data['email']); $license_key = strtoupper( wp_generate_password( 16, false ) ); // Tạo mã bản quyền ngẫu nhiên // Lưu mã bản quyền vào file JSON $license_file = 'licenses.json'; $licenses = json_decode(file_get_contents($license_file), true); $licenses[] = [ 'license_key' => $license_key, 'valid_until' => date('Y-m-d', strtotime('+1 year')), // Gia hạn 1 năm 'status' => 'active', 'user_email' => $email ]; // Ghi lại mã vào file JSON file_put_contents($license_file, json_encode($licenses, JSON_PRETTY_PRINT)); // Gửi mã bản quyền qua email mail($email, 'Your License Key', "Thank you for your purchase. Your license key is: $license_key"); // Trả về mã bản quyền echo json_encode(['license_key' => $license_key, 'status' => 'success']); } else { echo json_encode(['status' => 'error', 'message' => 'Email is required']); } } ?> |
- API này nhận yêu cầu POST với thông tin email từ người dùng.
- Tạo mã bản quyền ngẫu nhiên, thêm vào tệp
licenses.json
(giống như cách làm trong plugin WordPress). - Gửi mã bản quyền qua email cho người dùng.
Bước 2: Tạo Form để Người Dùng Yêu Cầu Mã Bản Quyền trên Website A
Bạn có thể tạo một form đơn giản trên Website A để người dùng nhập email và nhận mã bản quyền:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<!-- Website A - form yêu cầu mã bản quyền --> <form id="licenseForm"> <input type="email" id="userEmail" name="email" placeholder="Enter your email" required /> <button type="submit">Get License Key</button> </form> <script> document.getElementById('licenseForm').addEventListener('submit', function(e) { e.preventDefault(); const email = document.getElementById('userEmail').value; // Gửi yêu cầu API để cấp mã bản quyền fetch('https://yourwebsite.com/api/license.php', { method: 'POST', body: JSON.stringify({ email: email }), headers: { 'Content-Type': 'application/json' } }) .then(response => response.json()) .then(data => { if (data.status === 'success') { alert('License key sent to your email: ' + data.license_key); } else { alert('Error: ' + data.message); } }) .catch(error => console.error('Error:', error)); }); </script> |
Website B: Plugin WordPress Kiểm Tra Mã Bản Quyền
Website B là nơi plugin WordPress của bạn được cài đặt và sử dụng. Plugin này sẽ yêu cầu người dùng nhập mã bản quyền và kiểm tra tính hợp lệ của mã.
Bước 1: Tạo Plugin WordPress để Nhận và Kiểm Tra Mã Bản Quyền
- Tạo tệp plugin trong WordPress (
my-license-plugin.php
):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<?php /* Plugin Name: My License Plugin Description: A plugin to manage and validate license keys. Version: 1.0 Author: Muathemewpgiare.com */ // Đảm bảo plugin không bị truy cập trực tiếp if ( ! defined( 'ABSPATH' ) ) { exit; } // Đăng ký một trang quản trị trong WP admin để người dùng nhập mã bản quyền function mlp_create_admin_page() { add_menu_page( 'License Settings', // Tiêu đề trang 'License Settings', // Tên menu 'manage_options', // Quyền hạn 'mlp_license_settings', // Tên trang 'mlp_license_settings_page' // Hàm để hiển thị trang ); } add_action('admin_menu', 'mlp_create_admin_page'); // Hiển thị giao diện nhập mã bản quyền function mlp_license_settings_page() { ?> <div class="wrap"> <h1>License Key Settings</h1> <form method="post" action=""> <input type="text" name="license_key" placeholder="Enter your license key" required /> <input type="submit" name="check_license" value="Check License" /> </form> </div> <?php if (isset($_POST['check_license']) && isset($_POST['license_key'])) { $license_key = sanitize_text_field($_POST['license_key']); if (check_license_key($license_key)) { echo '<div class="updated"><p>License key is valid.</p></div>'; } else { echo '<div class="error"><p>Invalid or expired license key.</p></div>'; } } } // Hàm kiểm tra tính hợp lệ của mã bản quyền function check_license_key($license_key) { // Kiểm tra mã bản quyền từ file JSON (trong thư mục plugin) $license_file = plugin_dir_path(__FILE__) . 'licenses.json'; $licenses = json_decode(file_get_contents($license_file), true); // Kiểm tra mã bản quyền trong file JSON foreach ($licenses as $license) { if ($license['license_key'] === $license_key) { // Kiểm tra xem mã có còn hợp lệ không (dựa vào ngày hết hạn) if (strtotime($license['valid_until']) > time() && $license['status'] === 'active') { return true; // Mã bản quyền hợp lệ } break; } } return false; // Mã bản quyền không hợp lệ } |
Bước 2: Cài Đặt Plugin trên Website B
- Cài đặt Plugin: Tải file plugin
my-license-plugin.php
lên thư mụcwp-content/plugins/
của WordPress và kích hoạt plugin từ bảng điều khiển WordPress. - Giao diện nhập mã bản quyền: Plugin sẽ hiển thị một form cho phép người dùng nhập mã bản quyền. Sau khi nhập, hệ thống sẽ kiểm tra tính hợp lệ của mã từ tệp
licenses.json
.
Bước 3: Kết Nối Website A và Website B
Website A và Website B có thể giao tiếp với nhau thông qua API. Website A cấp mã bản quyền và gửi qua email cho người dùng, sau đó người dùng nhập mã vào plugin trên Website B. Plugin sẽ kiểm tra tính hợp lệ của mã thông qua file licenses.json
.
Tóm tắt quy trình:
- Website A:
- Người dùng nhập email để yêu cầu mã bản quyền.
- Website A gửi yêu cầu đến API cấp mã bản quyền và gửi mã qua email cho người dùng.
- Website B (Plugin WordPress):
- Người dùng cài đặt plugin và nhập mã bản quyền.
- Plugin kiểm tra tính hợp lệ của mã bản quyền từ file JSON hoặc API.
Bảo Mật
- Bảo mật API và file JSON: Đảm bảo rằng file
licenses.json
không thể truy cập trực tiếp từ bên ngoài bằng cách sử dụng file.htaccess
. - Mã hóa mã bản quyền: Bạn có thể mã hóa hoặc hash mã bản quyền để bảo mật hơn, thay vì lưu trữ mã bản quyền dưới dạng văn bản thuần túy trong file JSON.
Kết luận
Hệ thống này cho phép bạn dễ dàng cấp mã bản quyền cho plugin WordPress mà không cần cơ sở dữ liệu, sử dụng file JSON và API để quản lý mã bản quyền.
- Sharecode website bán hàng áo mưa wordpress miễn phí fullcode
- 🌟 Sharecode Theme WordPress Miễn Phí Giống Tiki – Chất Lượng Xịn, Giá Càng Yêu 🌟
- Combo Theme WordPress – Chìa Khóa SEO Đỉnh Cao Giúp Website Bứt Phá
- 15 mẹo và thủ thuật WordPress để tăng cường hiệu suất cho trang web của bạn
- Sharecode theme wordpress điện thoại, laptop thiết bị điện tử miễn phí