Cách tạo License Key cho template Blogger sử dụng JavaScript đơn giản

 hello xin chào mọi người nha, nay thì mình xin chia sẽ cho anh em chúng ta các tạo một cái license key nha mọi người ơi.

như mọi người đã biết thì việc bảo mật theme của chúng ta khi bán theme hay là chia sẽ theme mà sợ bị phát tán theme ra quá nhiều. nên chúng ta cần phải bảo mật theme chúng ta để tránh việc theme bị share ra ra nhiều. bằng việc chúng ta sẽ tạo ra licen key. 

Cách tạo License Key cho template Blogger sử dụng JavaScript đơn giản


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

Cách hoạt động của nó thì rất đơn giản rằng các bạn sẽ lưu thông tin để tạo License Key trên Google Script để tăng tính bảo mật và từ thông tin đó mình sẽ chuyển nó sang dạng mã hoá Base64 kiểu như này dFu5d8WerUWerZN3OHf=. Nó cũng có thể sử dụng tương tự viết Github nhưng nó sẽ rất dễ bị người khác biết và thay đổi. License Key sẽ do các bạn tuỳ ý quản lý và mỗi License Key chỉ sử dụng được trên 1 Blog cố định.

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

Có 2 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 https://script.google.com/home 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 kimidev = ContentService.createTextOutput();
  kimidev.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 kimidev;
}

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":"KiMiDev","url":"www.kimidev.site","id":"5463537912976060420","code":"kimidev"}

Bước 3: Sau đó các bạn chọn Deploy ( Triển Khai ) và chọn tiếp New deployment ( Tùy chọn Triển Khai ). Một popup sẽ hiện lên và tại cột Select type các bạn chọn vào hình bánh răng cưa và chọn Web app ( Ứng dụng web ). Tại cột Configuration các bạn để như sau:


License Key cho template Blogger



Xong các bạn chọn Deloy. Tiếp theo sẽ hiện URL của Web app các bạn hãy lưu lại vào notepad hay đâu đó.

License Key cho template Blogger




Để thêm 1 object thông tin license key mới các bạn thêm hoặc sửa 1 object tương tự như trên và tại bước 3 các bạn chọn Deply và sau đó chọn Manage deployments. Tiếp đó 1 popup hiện nên tại cột Configuration các bạn chọn hình cây bút (Edit) sau đó tại mục Version các bạn 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: Các bạn thêm đoạn code dưới đây vào sau thẻ <body>.

<script><b:eval expr='&quot;const blogID=&apos;&quot; + data:blog.blogId + &quot;&apos;;&quot;'/></script>

Bước 2: Tiếp tục 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ẽ public để nhận license key và licensekey ở đây sẽ thay thế bằng License Key các bạn tạo.

Bước 3: Thêm tiếp đ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://www.kimidev.site";
    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 https://www.kimidev.site bằng URL sẽ chuyển hướng khi sai License Key và Web app URL bằng Web app URL mà mình đã bảo các bạn lưu lại vào notepad ở phần trước.

Và để tăng thêm bảo mật thì các bạn nên mã hoá đoạn JavaScript ở bên trong thẻ <script>//<![CDATA[ ... //]]></script> bằng một số công cụ sau hoặc tuỳ cách hoá của các bạn.

https://www.cleancss.com/javascript-obfuscate hoặc https://javascriptobfuscator.com/Javascript-Obfuscator.aspx các bạn có thể mã hoá nhiều lần để bảo mật cao hơn.

Vậy là xong, tiếp theo là cách để các bạn lấy License Key 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 thì mình đã nói một object gồm những thông tin như sau:

{"no":0,"name":"KiMiDev Blog","url":"www.kimidev.site","id":"5463537912976060420","code":"KiMiDev"}

Thì ở đây License Key sẽ có cấu trúc bao gồm code-no ví dụ object ở trên License Key của mình sẽ là kimidev-0 chuyển sang dạng base64 nó sẽ thành a2ltaWRldi0w.

Để chuyển License Key sang dạng base64 thì các bạn sử dụng công cụ sau Base64 Converter dán License Key dạng code-no vào và bấm Encode lúc này bạn sẽ nhận được 1 đoạn mã dạng base64. Để dịch ngược thì các bạn là tương tự rồi 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 các bạn khi bị người khác rip hoặc bán để tránh bị chia sẻ template. Nếu có vấn đề hay thắc mắc gì thì các bạn hãy comment xuống phía dưới mình sẽ giải đáp nếu có thể.

Design by @KiMiDev

1 Nhận xét

Cảm ơn bạn đã nhận xét, chúng tôi sẽ quay lại và trả lời cho bạn sớm nhất có thể !!!

Mới hơn Cũ hơn

Nhận xét Mới