Tiếng Việt

Video và phụ đề · Direct Media Downloader

URL đã ký và hết hạn: tại sao liên kết trực tiếp có thể ngừng hoạt động vào ngày mai

· Lý lịch

url bảo vệ lượt tải xuống

Tệp URL mang thông số chữ ký và ngày hết hạn bên cạnh đồng hồ
Hình minh họa vector ToolAcre gốc

Nhiều liên kết trực tiếp mang chữ ký và thời gian hết hạn trong chuỗi truy vấn của chúng. Bài đăng này giải thích cách hoạt động của các URL được chỉ định, lý do CDN và dịch vụ lưu trữ sử dụng chúng cũng như cách nhận dạng chúng trước khi nó bị lỗi.

Liên kết hoạt động vào thứ Sáu và trả về lỗi vào thứ Hai - nguyên nhân đằng sau hầu hết các liên kết trực tiếp 'bị hỏng'

Một liên kết có thể thành công vào thứ Sáu và trả về lỗi HTTP vào thứ Hai mà không cần di chuyển tệp. Truy vấn có thể chứa ủy quyền có giới hạn thời gian mà hiệu lực của nó đã kết thúc giữa các lần thử.

ToolAcre báo cáo trạng thái không thành công có thể đọc được và lưu ý rằng địa chỉ có thể đã hết hạn, đã di chuyển hoặc yêu cầu đăng nhập. Nó không diễn giải lại thời hạn sử dụng là CORS khi có phản hồi HTTP. Các khoản chuyển khoản lớn đặc biệt dễ bị ảnh hưởng bởi khoảng thời gian này vì liên kết hợp lệ có thể hết hạn sau khi được chia sẻ nhưng trước khi người nhận bắt đầu hoặc kết thúc sử dụng liên kết đó. Bản ghi dài làm tăng nguy cơ về thời gian này vì ủy quyền có thể mất hiệu lực giữa việc chia sẻ, bắt đầu và hoàn tất quá trình chuyển.

URL đã ký là gì — một đường dẫn tệp bình thường cộng với chữ ký, thời hạn sử dụng và đôi khi là IP được phép, tất cả đều có trong chuỗi truy vấn

URL đã ký kết hợp đường dẫn tài nguyên thông thường với các giá trị được hệ thống cung cấp sử dụng để xác minh ủy quyền. Chúng có thể đại diện cho chữ ký, thời hạn sử dụng, phạm vi thông tin xác thực, chính sách hoặc hạn chế của khách hàng.

Tên tham số và mã hóa tùy theo nhà cung cấp. Trình duyệt coi chúng là dữ liệu truy vấn, trong khi máy chủ quyết định xem sự kết hợp của chúng có hợp lệ tại thời điểm yêu cầu hay không. Một số lược đồ cũng liên kết cả phương thức hoặc tiêu đề, vì vậy nhà cung cấp có thể cho phép GET nhưng lại từ chối HEAD; chỉ thuật toán ký tài liệu của nó mới có thể giải thích kết quả đó. Một số nhà cung cấp đưa phương thức hoặc tiêu đề đã chọn vào xác minh, cho phép GET trong khi từ chối HEAD trong cùng một truy vấn hiển thị.

Tại sao các dịch vụ lưu trữ và CDN lại sử dụng chúng — chia sẻ tệp riêng tư mà không công khai hoặc yêu cầu đăng nhập

Các dịch vụ lưu trữ và CDN sử dụng địa chỉ đã ký để chia sẻ một đối tượng riêng tư mà không đặt đường dẫn của nó vĩnh viễn ở chế độ công khai hoặc đính kèm thông tin đăng nhập tương tác vào mỗi lần tải xuống.

Do đó, việc sở hữu một liên kết trực tiếp có thể là vấn đề nhạy cảm. Tránh dán nó vào các rơle không đáng tin cậy, xuất bản ảnh chụp màn hình hoặc để nó trong các ghi chú được chia sẻ ngoài quy trình làm việc được ủy quyền. Hiệu lực ngắn hạn sẽ giảm khả năng hiển thị nếu liên kết bị rò rỉ, trong khi nhật ký thu hồi và truy cập vẫn duy trì khả năng của nhà cung cấp thay vì chức năng của chính URL đã tải xuống. Hiệu lực ngắn làm giảm nguy cơ rò rỉ, trong khi việc thu hồi và ghi nhật ký truy cập vẫn là khả năng của nhà cung cấp phát hành.

Đọc chuỗi truy vấn - phát hiện dấu thời gian hết hạn và tham số chữ ký trong các hình dạng URL phổ biến

Tìm tên truy vấn gợi ý thời hạn sử dụng, chữ ký, mã thông báo, chính sách hoặc xác thực có tiền tố của nhà cung cấp. Một giá trị giống kỷ nguyên có thể biểu thị thời hạn, nhưng cần có tài liệu trước khi chuyển đổi nó.

Trình chuẩn hóa của ToolAcre cố tình giữ lại các trường kiểu `token`, `expires`, `signature` và X-Amz. Nó chỉ xóa các khóa có hình dạng phân tích đã biết vì việc tước quyền sẽ thay đổi yêu cầu được giải quyết. Không giải mã hoặc loại bỏ các thông số lạ một cách ngẫu nhiên vì giá trị trông không rõ ràng có thể là một phần của yêu cầu chuẩn đã được ký ngay cả khi tên của nó không rõ ràng. Các tham số không xác định có thể tham gia vào quá trình ký chuẩn ngay cả khi tên của chúng có vẻ không liên quan đến bảo mật, vì vậy hãy giữ nguyên chúng.

Ví dụ đã hoạt động: liên kết lưu trữ được đánh dấu thời gian - xử lý khi hết hạn và lỗi trông như thế nào sau đó

Giả sử tài liệu của nhà cung cấp xác định tham số hết hạn là giây kỷ nguyên. Chuyển đổi nó theo quy tắc được ghi lại đó và so sánh nó với thời gian UTC hiện tại trước khi bắt đầu chuyển khoản lớn.

Sau thời hạn, máy chủ có thể trả về 403, một lỗi khác hoặc chuyển hướng; không có hình dạng phản ứng phổ quát. Bằng chứng cụ thể là địa vị và nội dung mà nhà cung cấp đó phục vụ chứ không phải một tin nhắn bịa đặt. Nếu máy chủ cung cấp nội dung lỗi có cấu trúc, hãy giữ nó cho chủ sở hữu mà không xuất bản địa chỉ đã ký đã tạo ra nó. Giữ lại bất kỳ phản hồi lỗi có cấu trúc nào cho chủ sở hữu đồng thời bảo vệ địa chỉ đã ký đã tạo ra địa chỉ đó khỏi bị tiết lộ rộng rãi hơn.

Điều này không bao gồm điều gì — gia hạn một liên kết, điều mà chỉ chủ sở hữu tệp mới có thể thực hiện

Trình tải xuống không thể gia hạn, từ chức, làm mới hoặc mở rộng địa chỉ. Chỉ bên kiểm soát nguồn hoặc hệ thống chia sẻ được ủy quyền của nó mới có thể đưa ra một liên kết hợp lệ khác.

Nó cũng không lưu giữ phiên đăng nhập vì thông tin đăng nhập bị bỏ qua. Nếu quyền truy cập yêu cầu cookie tài khoản thay vì ủy quyền URL thì tệp nằm ngoài thiết kế của sản phẩm này. Việc thay đổi dấu thời gian theo cách thủ công sẽ làm mất hiệu lực hầu hết các chữ ký vì thời hạn có liên quan đến quá trình xác minh máy chủ; đó không phải là một cơ chế mở rộng. Việc thay đổi dấu thời gian thường làm mất hiệu lực xác minh vì bản thân thời hạn đóng góp vào chữ ký thay vì đóng vai trò là siêu dữ liệu có thể chỉnh sửa.

Bài học rút ra: tải xuống trong khi liên kết đang hoạt động — cách URL của Direct Media Downloader kiểm tra và thông báo tìm nạp phù hợp với một liên kết sắp hết hạn

Tải xuống trong khi liên kết được ủy quyền đang hoạt động và tệp phù hợp với quy trình làm việc của trình duyệt. Xác thực cục bộ xác nhận địa chỉ ban đầu đáp ứng chính sách lược đồ và máy chủ, sau đó yêu cầu rõ ràng cho phép nguồn gốc đánh giá chữ ký của nó.

Thông báo của máy chủ không tiết lộ liệu mã thông báo có còn hợp lệ hay không. Liên kết kiểm tra có thể kiểm tra khả năng tiếp cận bằng HEAD nhưng một số nhà cung cấp xử lý HEAD khác với GET nên đây không phải là sự gia hạn hay bảo đảm. Đối với quy trình lưu trữ, hãy phối hợp phát hành liên kết với cửa sổ chuyển và xác minh số byte đã lưu trước khi xóa bản sao chính thức của người gửi. Phối hợp phát hành với thời hạn chuyển nhượng theo kế hoạch, sau đó xác minh tài sản đã hoàn thành trước khi rút lại bản sao chính thức của người gửi.