Chia sẻ tiện ích blog và kiến thức xây dựng

Tạo giấy phép với cơ sở dữ liệu thời gian thực Firebase

Tạo mẫu giấy phép với cơ sở dữ liệu thời gian thực Firebase
Vui lòng chờ 0 giây...
Cuộn xuống hoặc nhấp vào đây để chuyển đến liên kết
Chúc mừng! Liên kết được tạo

Trong thế giới phát triển ứng dụng và web, việc cấp phép là một yếu tố rất quan trọng để đảm bảo rằng các mẫu, tập lệnh hoặc các sản phẩm kỹ thuật số khác đã được tạo ra được người dùng đã đăng ký chính thức sử dụng hợp pháp và hợp pháp. Một ví dụ về việc sử dụng giấy phép cho các sản phẩm kỹ thuật số là giấy phép cho các mẫu Blogger.

Tạo giấy phép với cơ sở dữ liệu thời gian thực Firebase
Tạo giấy phép với cơ sở dữ liệu thời gian thực Firebase

Vì vậy, trong bài viết này, tôi sẽ chia sẻ tập lệnh cấp phép mẫu Blogger được tích hợp với cơ sở dữ liệu thời gian thực Firebase bằng JavaScript thuần túy. Tập lệnh này sau đó sẽ gửi yêu cầu đọc nội dung dữ liệu miền từ cơ sở dữ liệu Firebase ở dạng JSON và sau đó khớp nó với tên máy chủ (URL/miền blog) đang sử dụng mẫu hoặc tập lệnh. Nếu địa chỉ miền chưa được đăng ký trong cơ sở dữ liệu Firebase, blog sẽ ngay lập tức được chuyển hướng đến trang blog của bạn.

Firebase là gì?

Firebase là một nền tảng để phát triển ứng dụng di động hay website, bao gồm các API đơn giản và mạnh mẽ mà không cần backend hay server

Lợi ích của Firebase là gì? Firebase còn giúp các lập trình viên rút ngắn thời gian triển khai và mở rộng quy mô của ứng dụng mà họ đang phát triển.

Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud. Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.

Các thành phần chính của Firebase

Realtime Database

Firebase Realtime Database là cơ sở dữ liệu NoSQL lưu và đồng bộ dữ liệu trên mây. Dữ liệu được đồng bộ trên tất cả clients trong thời gian thực, và vẫn khả dụng khi ứng dụng offline.

FireStore Database

Khi đăng ký một tài khoản trên Firebase để tạo ứng dụng, bạn đã có một cơ sở dữ liệu thời gian thực. Dữ liệu bạn nhận được dưới dạng JSON. Đồng thời nó cũng luôn được đồng bộ thời gian thực đến mọi kết nối client.

Firebase Authentication

Hoạt động nổi bật của Firebase là xây dựng các bước xác thực người dùng bằng Email, Facebook, Twitter, GitHub, Google. Đồng thời cũng xác thực nặc danh cho các ứng dụng. Hoạt động xác thực có thể giúp thông tin cá nhân của người sử dụng được an toàn và đảm bảo không bị đánh cắp tài khoản.

Realtime Database

Ẩn/hiện nội dung

  1. Realtime: Firebase Realtime Database sử dụng đồng bộ dữ liệu mối khi dữ liệu có thay đổi, mọi thiết bị được kết nối sẽ nhận được thay đổi trong vài mili giây.
  2. Offline: Khi người dùng ngoại tuyến, dữ liệu sẽ được lưu trên bộ nhớ cache của thiết bị và tự động đồng bộ khi bạn trực tuyến. Tất cả là tự động.
  3. Accessible from Client Devices: Firebase Realtime Database có thể truy cập từ một thiết bị mobile hoặc trình duyệt web. Nó không cần một ứng dụng server nào cả. Bảo mật và xác thực dữ liệu có thể thông qua các Rule bảo mật của Firebase Realtime Database, các rule được thực thi khi dữ liệu được đọc hoặc ghi.

Hướng dẫn tạo tài khoản Firebase

Bước 1:
  1. Đầu tiên hãy đăng ký và tạo tài khoản Firebase Console.
  2. Sau đó bấm vào nút Langue để chọn ngôn ngữ Tiếng anh.
  3. Nhấn vào nút Create a project.

Bước 2: Ở bước tiếp theo, vui lòng tạo tên cho dự án theo ý muốn của bạn.

Bước 3: Chọn my-awesome-project-id để điền url theo yêu thích của bạn, hãy nhấp vào nút Save.

Bước 4: Đánh dấu tích vào:

  • I accept the Firebase terms
  • I confirm that I will use Firebase exclusively for purposes relating to my trade, business, craft or profession

Hãy nhấp vào nút Continue.

Bước 5: Trong bước tiếp theo, bạn chỉ có thể tắt cài đặt cho Google Analytics vì chúng không cần thiết. Nhấp vào nút Create a project.

Bước 6: Đợi trang tải xong, Nhấp vào nút Continue.

Hoàn thành:
Ở giai đoạn này bạn đã tạo thành công một dự án mới. Bước tiếp theo là tạo cơ sở dữ liệu thời gian thực cho dự án đã được tạo trước đó. Để làm điều này, bạn có thể làm theo các bước dưới đây.

Tạo cơ sở dữ liệu thời gian thực mới

Bước 1: Trên trang chính của Firebase, nhấp vào menu Build bên trái, rồi chọn Realtime Database

Bước 2: Sau khi vào menu cơ sở dữ liệu thời gian thực, nhấp vào nút Create Database để tạo cơ sở dữ liệu mới.

Bước 3: Sau đó, chọn vị trí của máy chủ cơ sở dữ liệu mà bạn sẽ sử dụng. Ở giai đoạn này, chúng ta hãy sử dụng tùy chọn mặc định từ Firebase, cụ thể là United States (us-central1). Tiếp theo bấm nút Next.

Bước 4: Trong cài đặt 'Quy tắc bảo mật', hãy chọn tùy chọn tích vào locked mode. Sau đó bấm vào nút Enable.

Bước 5: Bước tiếp theo, trước tiên hãy thay đổi quy tắc trong cơ sở dữ liệu thời gian thực để tập lệnh cấp phép mẫu Blogger có thể đọc dữ liệu miền từ cơ sở dữ liệu. Để thay đổi, hãy vào menu Rules sau đó thay đổi giá trị .read thành true.

{
  "rules": {
    ".read": true,
    ".write": false,
  }
}

Kết quả cuối cùng sẽ như thế này:

Thêm dữ liệu miền vào cơ sở dữ liệu thời gian thực Firebase

Bước 1: Bước cuối cùng, tạo dữ liệu miền ở dạng JSON trên menu Dữ liệu. Hãy chú ý đến menu Dữ liệu, có chữ 'null' bên cạnh liên kết cơ sở dữ liệu của bạn.

Bước 2: Nhấp vào văn bản và biểu tượng PLUS '+' sẽ xuất hiện bên cạnh nó.

Bước 3: Sau đó sẽ xuất hiện 1 hàng có 2 cột trống ghi KeyValue placeholder. Ở thứ tự đầu tiên, chỉ điền vào cột Khóa để trống cột Giá trị. Đây là tên được sử dụng cho tiêu đề/tên liên kết cơ sở dữ liệu của bạn sau này. Ở đây tôi đưa ra ví dụ về máy chủ (xem số 1). Sau đó nhấp lại vào biểu tượng PLUS (+) bên cạnh tên 'máy chủ' để thêm dòng mới.

Bước 4: Dòng thứ 2 ghi số nol (0) vào cột Key và ghi tên miền blog của bạn vào cột Value (viết không có http://https://).

Để thêm dữ liệu miền mới, hãy nhấp vào biểu tượng PLUS (+) bên cạnh tên 'máy chủ' như bước trước. Và viết các số theo thứ tự bắt đầu từ số 0.

Bước 5: Nếu mọi thứ đã xong, hãy nhấp vào nút Add để thêm dữ liệu miền vào cơ sở dữ liệu thời gian thực.

Hoàn Thành

Cho đến giai đoạn này, bạn đã tạo thành công danh sách miền bằng cơ sở dữ liệu thời gian thực Firebase. Để kiểm tra xem cấu trúc JSON bạn tạo có hợp lệ hay không, bạn có thể kiểm tra bằng cách sao chép liên kết cơ sở dữ liệu của mình sau đó thêm tên hoặc tiêu đề đã được tạo trước đó (ví dụ tôi sử dụng ở trên là 'host' ở bước số 2) và đảm bảo rằng URL sử dụng định dạng .json ở cuối. Ví dụ về URL cơ sở dữ liệu chính xác.

https://giahuydotnet-default-rtdb.firebaseio.com/host.json

Nếu dữ liệu miền được ghi chính xác, kết quả sẽ hiển thị cấu trúc JSON chứa dữ liệu miền đã được ghi trong cơ sở dữ liệu Firebase thời gian thực của bạn. Và dưới đây là một ví dụ.

["www.giahuy.net"]

Cài đặt Tập lệnh cấp phép mẫu trên Blogger

Giai đoạn cuối cùng, cài đặt tập lệnh cấp phép mẫu vào blog. Bạn có thể sao chép tất cả JavaScript giấy phép mẫu Blogger bên dưới rồi kết hợp nó với các tập lệnh khác. Sau đó, đừng quên mã hóa tất cả tập lệnh (bao gồm tập lệnh cấp phép mẫu Blogger) bằng obfuscator.io.

<script>//<![CDATA[
// Script Lisensi Template dengan Realtime Database Firebase async function GiaHuyLisensi() {
    try {
        const currentDomain = window.location.hostname;
        const response = await fetch("https://giahuydotnet-default-rtdb.firebaseio.com/host.json");
        const domainData = await response.json();
        const isDomainRegistered = domainData && domainData.includes(currentDomain);
        if (!isDomainRegistered) {
            window.location.href = "https://www.giahuy.net";
        }
    } catch (error) {
        console.error(error);
    }
}

GiaHuyLisensi();
//]]></script>

Trong phần https://giahuydotnet-default-rtdb.firebaseio.com/host.json thay thế bằng URL cơ sở dữ liệu của bạn. Và cũng thay thế toàn bộ văn bản đã được đánh dấu.

Cho đến giai đoạn này, chúng tôi đã thành công trong việc tạo giấy phép mẫu Blogger bằng cơ sở dữ liệu thời gian thực Firebase. Khi mẫu hoặc JavaScript được sử dụng trên blog không có trong danh sách tên miền trong cơ sở dữ liệu Firebase, blog sẽ ngay lập tức được chuyển hướng đến trang blog của bạn.

Kết thúc

Đó là hướng dẫn về cách tạo giấy phép mẫu Blogger bằng cơ sở dữ liệu thời gian thực Firebase. Ngoài việc sử dụng cơ sở dữ liệu Firebase, bạn cũng có thể sử dụng công nhân từ Cloudflare làm cơ sở dữ liệu. Và bạn cũng có thể thêm một số chức năng như xác thực mã giấy phép trên từng tên miền.

Vì vậy, khi người dùng muốn sử dụng mẫu hoặc tập lệnh trên blog của mình, họ bắt buộc phải nhập mã giấy phép đã được đăng ký và khớp với mã giấy phép trên nhân viên Cloudflare. Cả hai đều sử dụng dữ liệu JSON. Nhưng tất nhiên phương pháp sẽ phức tạp hơn việc sử dụng cơ sở dữ liệu Firebase vì bạn phải sử dụng Name Server từ Cloudflare để có thể tạo dữ liệu miền bằng Cloudflare Workers.

Trên đây là hướng dẫn tạo giấy phép với cơ sở dữ liệu thời gian thực Firebase.
Nếu có bất cứ thắc mắc nào hãy comment ngay phía dưới cho mình biết nhé.

Tôi là Nhật Nguyễn, một kỹ sư xây dựng. Nhưng thích tìm hiểu về mã nguồn lập trình web ☏.