Vui lòng liên hệ chúng tôi qua Zalo Contact

Cách tạo License Key cho template Blogger sử dụng JavaScript

Hello,xin chào mọi người! Hôm nay, Tricker Channel xin chia sẻ với anh em cách tạo một License Key nha.

Như mọi người đã biết, việc bảo mật theme của chúng ta rất quan trọng, đặc biệt khi bán hoặc chia sẻ theme mà sợ bị phát tán quá nhiều. Để bảo vệ theme của chúng ta và tránh việc bị chia sẻ rộng rãi, chúng ta cần phải tạo License Key. Dưới đây là cách thực hiện:

Cách tạo License Key cho template Blogger sử dụng JavaScript

Cách hoạt động của License Key

Cách hoạt động của License Key rất đơn giản. Bạn sẽ lưu thông tin để tạo License Key trên Google Script để tăng tính bảo mật. Từ thông tin đó, bạn sẽ chuyển nó sang dạng mã hóa Base64, ví dụ như: dFu5d8WerUWerZN3OHf=

Mặc dù bạn cũng có thể lưu thông tin này trên GitHub, nhưng cách đó rất dễ bị người khác biết và thay đổi. Vì vậy, sử dụng Google Script sẽ an toàn hơn.

License Key sẽ do bạn tự quản lý và mỗi License Key chỉ sử dụng được trên một blog cố định.

Cách tạo Google Script chứa thông tin License Key

Có hai cách để tạo Google Script chứa thông tin License Key, nhưng mình sẽ hướng dẫn các bạn cách nhanh nhất mà mình đã dùng.

Bước 1: Truy cập và tạo dự án mới

- Truy cập Google Script và chọn New project.

License Key cho template Blogger

Bước 2: Đặt tên cho project của bạn và thay thế toàn bộ đoạn mã có sẵn bằng đoạn mã sau:
function doGet() {
  var trickerchannel = ContentService.createTextOutput();
  trickerchannel.append('{"user":[{"no":0,"name":"","url":"","id":"","code":""},{"no":1,"name":"","url":"","id":"","code":""},{"no":2,"name":"","url":"","id":"","code":""},{"no":3,"name":"","url":"","id":"","code":""},{"no":4,"name":"","url":"","id":"","code":""},{"no":5,"name":"","url":"","id":"","code":""},{"no":6,"name":"","url":"","id":"","code":""},{"no":7,"name":"","url":"","id":"","code":""},{"no":8,"name":"","url":"","id":"","code":""},{"no":9,"name":"","url":"","id":"","code":""},{"no":10,"name":"","url":"","id":"","code":""}]}');
  return trickerchannel;
}

License Key cho template Blogger

Với mỗi License Key sẽ là 1 object bao gồm như sau:
{"no":0,"name":"","url":"","id":"","code":""}
Trong đó no là số thứ tự, url là url của blog kích hoạt key, id là id của blog kích hoạt key, code đây sẽ là thông tin để tạo license key. Ví dụ 1 object như sau:
{"no":0,"name":"trickerchannel","url":"trickerchannelvn.blogspot.com","id":"5611690007214223582","code":"trickerchannel"}

Bước 3: Triển khai dự án:
  • Chọn Deploy (Triển Khai) và tiếp tục chọn New deployment (Tùy chọn Triển Khai).
  • Một popup sẽ hiện lên, tại cột Select type, chọn biểu tượng bánh răng cưa và chọn Web app (Ứng dụng web).
  • Tại cột Configuration, thiết lập như sau:
License Key cho template Blogger

Sau khi cấu hình xong, các bạn chọn Deploy. Tiếp theo, URL của Web app sẽ hiện ra. Hãy lưu URL này vào notepad hoặc một nơi nào đó để sử dụng sau.


Để thêm một object thông tin license key mới:

  • Thêm hoặc sửa một object tương tự như trên.
  • Tại Bước 3, chọn Deploy và sau đó chọn Manage deployments.
  • Một popup sẽ hiện lên, tại cột Configuration, chọn biểu tượng cây bút (Edit).
  • Tại mục Version, chọn New version và bấm Deploy.
Vậy là xong phần Google Script.

Thêm code JavaScipt kiểm tra giấy phép vào template

Bước 1: Thêm đoạn code dưới đây vào sau thẻ <body>.
<script><b:eval expr='"const blogID='" + data:blog.blogId + "';"'/></script>
Bước 2: Thêm đoạn code dưới đây vào phía trước thẻ </body>.
<script>//<![CDATA[
    var licensekey = "licensekey";
//]]></script>
Đoạn code này sẽ công khai để nhận License Key. Thay thế licensekey bằng License Key mà bạn đã tạo.
Bước 3: Thêm đoạn code dưới đây ngay phía dưới đoạn code vừa thêm ở Bước 2.
<script>//<![CDATA[
    var e, s = "https://trickerchannelvn.blogspot.com/";
    function o() {
        window.alert("Invalid License Key"), document.body.innerHTML = "", window.location.href = s
    }
    try {
        e = atob(licensekey)
    } catch (e) {
        try {
            o()
        } catch (e) {
            window.location.href = s
        }
    }
    var n = e.split("-"),
        l = n[0];
    if (void 0 === (n = n[1])) try {
        o()
    } catch (e) {
        window.location.href = s
    }
    str = [n], getAJ({
        url: "Web app URL",
        async: !0,
        success: function (e) {
            var n = JSON.parse(e).user[str];
            if (void 0 === n) try {
                o()
            } catch (e) {
                window.location.href = s
            }
            var u = n.id,
                d = n.code,
                a = n.url;
            try {
                if (blogID + l === u + d && 0 != function (e) {
                        if (-1 == window.location.pathname.indexOf("/b/preview") && -1 == window.location.pathname.indexOf("/b/blog-preview")) return e == window.location.hostname
                    }(a)) return void console.log('Licensed to: ' + n.name + ', Licensed for: ' + n.url);
                try {
                    o()
                } catch (e) {
                    window.location.href = s
                }
            } catch (e) {
                try {
                    o()
                } catch (e) {
                    window.location.href = s
                }
            }
        }
    })
    function getAJ(e) {
        var r = new XMLHttpRequest;
        try {
            r = new XMLHttpRequest
        } catch (t) {
            try {
                r = new ActiveXObject("Msxml2.XMLHTTP")
            } catch (t) {
                try {
                    r = new ActiveXObject("Microsoft.XMLHTTP")
                } catch (t) {
                    return console.warn("Something went wrong!"), !1
                }
            }
        }
        r.onreadystatechange = function () {
            var n;
            4 == r.readyState && (200 == r.status ? (n = r.responseText, e.success(n)) : "function" == typeof e.error && e.error(r))
        }, r.open("GET", e.url, e.async), r.send()
    }
//]]></script>

Thay thế https://trickerchannelvn.blogspot.com/ bằng URL sẽ chuyển hướng khi License Key không hợp lệ và thay thế Web app URL bằng Web app URL mà bạn đã lưu lại vào notepad ở phần trước.
Để tăng cường bảo mật, bạn nên mã hóa đoạn JavaScript bên trong thẻ <script>//<![CDATA[ ... //]]></script> bằng một số công cụ sau hoặc theo cách mã hóa của bạn:


Bạn có thể mã hóa nhiều lần để đạt mức bảo mật cao hơn.

Vậy là xong! Tiếp theo, mình sẽ hướng dẫn các bạn cách lấy License Key dưới dạng mã base64.

Các tạo License Key

Ở phần Cách tạo Google Script chứa thông tin License Key, mình đã đề cập rằng một object sẽ bao gồm những thông tin như sau:
{"no":0,"name":"Tricker Channel Việt Nam","url":"trickerchannelvn.blogspot.com","id":"5611690007214223582","code":"TrickerChannel"}
Ở đây, License Key sẽ có cấu trúc bao gồm code-no

Ví dụ, nếu object của bạn có License Key là `trickerchannel-113`, khi chuyển sang dạng base64, nó sẽ thành `dHJpY2tlcmNoYW5uZWwtMTEz`.

Để chuyển License Key sang dạng base64, bạn có thể sử dụng công cụ Base64 Converter. Dán License Key dạng code-no vào và bấm Encode để nhận được đoạn mã base64. Để chuyển ngược lại, bạn chỉ cần làm tương tự và bấm Decode.

Kết luận

Vậy là xong! Mình vừa hướng dẫn các bạn cách tạo License Key cho template Blogger sử dụng JavaScript đơn giản, giúp bảo vệ template của bạn khỏi việc bị rip hoặc bán và tránh việc chia sẻ template không mong muốn. Nếu có bất kỳ vấn đề hay thắc mắc nào, các bạn hãy để lại câu hỏi ở phía dưới, mình sẽ cố gắng giải đáp nếu có thể.
Cookie Consent
Chúng tôi cung cấp cookie trên trang web này để phân tích lưu lượng truy cập, ghi nhớ tùy chọn của bạn và tối ưu hóa trải nghiệm của bạn.
Oops!
Có vẻ như đã xảy ra sự cố với kết nối internet của bạn. Vui lòng kết nối với internet và truy cập lại.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Refresh