Bài viết liên quan:

Trong bài viết này mình sẽ chia sẻ cho các bạn đoạn mã JavaScript để kích hoạt license key cho template Blogger và cách lưu trữ license key.
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.

- 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 nldblog = ContentService.createTextOutput(); nldblog.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 nldblog; }

{"no":0,"name":"","url":"","id":"","code":""}
{"no":0,"name":"phucuongds","url":"www.phucuongds.com","id":"1274892162030735411","code":"phucuongds"}
- Bước 3: Sau đó các bạn chọn Deploy và chọn tiếp New deployment. 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. Tại cột Configuration các bạn để như sau:


Để 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='"const blogID='" + data:blog.blogId + "';"'/></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.xxx.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>
- https://www.cleancss.com/javascript-obfuscate
- https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
Vậy là xong, tiếp theo là cách để các bạn lấy License Key dạng mã base64.
Cách 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":"phucuongds","url":"www.phucuongds.com","id":"1274892162030735411","code":"phucuongds"}
Để 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.