chào các bạn cho mình hỏi cơ chế chặn tải file khi làm web elearning
chào các bạn cho mình hỏi cơ chế chặn tải file khi làm web elearning
1 CÂU TRẢ LỜI
download file qua code backend, ko download trực tiếp qua web server, authen và author bình thường như chức năng khác. Hoặc sử dụng signed url với webserver https://www.nginx.com/blog/securing-urls-secure-link-module-nginx-plus/ hoặc dùng cloud như aws s3 cũng có signed url.
minh thấy có cơ chế HLS là sao bạn ha
Ý bạn là chặn tải nội dung video ?
@tranuybao1991 HLS - HTTP Live Streaming, thường người ta dùng ở các dịch vụ streaming video. bạn có thể vào các trang như phimmoi
hay motphim
, facebook video hay youtube họ cũng đều dùng cơ chế này cả. Ý tưởng là chia file ra thành nhiều mảnh nhỏ với các độ phân giải khác nhau và lúc xem thì chỉ load từng mảnh tương ứng. Bạn có thể dùng cách này nếu web của bạn có nội dung Video. Nhưng không phải HLS là người ta không download được đâu nhé, nểu bạn không encrypt HLS thì khi người ngoài lấy được master playlist
thì họ vẫn download được tất cả các mảnh khá dễ dàng (bằng ffmpeg
chẳng hạn)
Còn với file tài liệu bình thường, như bạn bên trên đã comment thì vẫn nên đặt ở 1 nơi nào đó private (AWS S3) và phải authenticate trước khi download
Mình làm về lĩnh vực này lâu rồi nên thấy cái gọi là chặn tải file thực ra là chống chia sẻ public file tĩnh, chỉ có ai thanh toán mới dùng được. Để thực hiện nó thì link phải có chữ ký và có thời gian sống, mỗi phiên người dùng sẽ được tạo mới và hết hạn sau một thời gian đặt trước. Còn chống người dùng download video thì chịu, mỗi khi họ thanh toán và xem được video thì có thể bắt được luồng video, trình duyệt nào cũng có hàng tá plugin cho phép lưu video đang xem, ai không tin đưa link và tài khoản trang bất kỳ mình download về cho.