Chủ đề

URL hình OG đã ký

URL hình OG đã ký là một URL có các tham số được bảo vệ bằng chữ ký HMAC-SHA256, do đó chỉ có bạn (và mã giữ bí mật của bạn) mới có thể yêu cầu các bản render được tính vào hạn mức hàng tháng của bạn. FastOG ký nội dung — các tham số giống hệt nhau luôn tạo ra URL được lưu trong bộ nhớ đệm giống hệt nhau — điều này vừa bảo vệ hạn mức của bạn vừa giúp việc lưu bộ nhớ đệm trở nên xác định.

Tại sao cần ký URL của OG image

Một endpoint OG image hiển thị văn bản tùy ý từ một URL không xác thực giống như một trang trại render miễn phí mà bất kỳ ai cũng có thể truy cập. Trên dịch vụ trả phí theo đăng ký, điều này có nghĩa là bất kỳ ai cũng có thể đốt số dư của bạn. Việc ký từng URL bằng một bí mật chỉ backend của bạn biết sẽ chặn mọi yêu cầu không được phép ngay ở lần tải đầu tiên (chưa được lưu trong bộ nhớ đệm), trong khi các URL hợp lệ đã được lưu trong bộ nhớ đệm vẫn hoạt động bình thường.

Cách hoạt động của việc ký nội dung

  1. Bạn xây dựng chuỗi truy vấn chuẩn: mọi tham số (trừ chữ ký), được sắp xếp và mã hóa theo RFC-3986.
  2. Bạn tính toán HMAC_SHA256(secret, "GET/api/v1/og\n" + canonical).
  3. Bạn thêm chữ ký làm tham số s.

Thông điệp không bao gồm dấu thời gian, vì vậy URL ổn định: cùng tham số → cùng URL → cùng mục nhập bộ nhớ đệm.

canonical = "key=sk_...&template=default&title=Hello"
signature = HMAC-SHA256(secret, "GET/api/v1/og\n" + canonical)
url = ".../api/v1/og?key=...&template=default&title=Hello&s=" + signature

Sự đánh đổi mà nhiều người hiểu sai

Mối quan tâm Thực tế
"URL đã ký sẽ hết hạn" Không — nó được ký theo nội dung, có hiệu lực cho đến khi bạn xoay vòng bí mật
"URL bị giả mạo sẽ phá vỡ bộ nhớ đệm" Không — một s sai chỉ bị trả về mã 401 khi bộ nhớ đệm miss; hình ảnh đã được lưu trong bộ nhớ đệm vẫn được trả về bình thường
"Tôi cần dấu thời gian để bảo mật" Ký theo nội dung là đủ để ngăn chặn lạm dụng hạn mức; không cần đồng hồ

SDK một tệp

FastOG cung cấp một tệp ký (signer file) duy nhất cho mỗi ngôn ngữ (không phụ thuộc thư viện ngoài) để bạn không bao giờ phải tự viết HMAC. Tải xuống từ trang SDK hoặc curl trực tiếp từ CDN:

bash
curl -O https://fastog.com/sdk/node.js

Câu hỏi thường gặp

URL đã ký có bao giờ hết hạn không?

Không theo mặc định — chúng vẫn có hiệu lực cho đến khi bạn xoay vòng bí mật HMAC của khóa API. Được ký theo nội dung, không phải theo thời gian.

Người khác có thể tiêu tốn hạn mức của tôi bằng cách đoán URL không?

Không. Họ cần bí mật HMAC của bạn để tạo chữ ký hợp lệ; nếu không có nó, các lần kết xuất không được lưu vào bộ nhớ đệm sẽ trả về 401 invalid_signature.

Tôi có ký URL trong trình duyệt không?

Không. Hãy ký ở phía máy chủ (hoặc trong một hàm biên) nơi bí mật không bao giờ được gửi đến máy khách. URL hình ảnh đã kết xuất an toàn để đưa vào <head> công khai của bạn.

Dùng thử miễn phí — không cần đăng ký

Xem trước và kiểm tra hình ảnh OG động trong vài giây.

Mở Trình kiểm tra hình ảnh OG miễn phí

A BeCaSimulations site