2008-11-19 46 views
17

Có thể bảo vệ tệp flv khỏi tải xuống không? Tôi muốn bảo vệ các tập tin của tôi từ tải về nhưng tôi không có tiền cho một máy chủ streaming mà tôi nghĩ rằng cung cấp một số loại bảo vệ. Các tệp được truyền trực tiếp qua PHP và được đặt trong thư mục tải lên trên máy chủ của tôi.Bảo vệ video flash khỏi tải xuống/phải bảo vệ

Tôi đã sử dụng PHP để đảm bảo rằng chỉ người đăng ký mới có thể xem video nhưng về cơ bản tôi muốn tiến xa hơn và ngăn người đăng ký, khi đăng nhập, tải xuống video của tôi bằng trình tải xuống như Sothink Flv Downloader cho Firefox.

Trả lời

3

Phiên bản ngắn gọn là DRM (dưới mọi hình thức) là cuộc đua vũ trang, Nếu tôi có thể chơi nó, tôi có thể lấy cắp nó. Câu hỏi duy nhất là nó khó đến mức nào.

Cá nhân, tôi không nghĩ DRM là một ý tưởng hay. Về lâu dài, nó sẽ không giúp được gì bởi vì những người ăn cắp nó, sẽ ăn cắp nó không có những gì bạn làm và những người sẽ không bị bất tiện bởi nó ngay cả như vậy.

http://xkcd.com/488/


Điều đó nói rằng, ăn cắp nó cũng không phải là một ý tưởng tốt và bạn nên có quyền kiểm soát những gì bạn sản xuất. (Tuy nhiên tôi không biết làm thế nào để làm điều đó)


Câu trả lời duy nhất tôi có thể nghĩ đến là: 1) bắt đầu bán thứ gì đó không thể bị đánh cắp hoặc 1) làm cho nó dễ dàng hơn để mua sau đó lấy trộm. Số tiền đầu tiên cho Pandora-cho-phí/Netflix-cho-âm nhạc (nhưng với một cái gì đó giống như một giấy phép CC trên các bài hát nhãn lớn). Thứ hai thậm chí không phải là vấn đề ngành công nghiệp âm nhạc mà là vấn đề ngành tài chính; làm thế nào để thực hiện thanh toán trực tuyến dễ dàng và an toàn cho cả hai bên mà không vặn người mua hoặc người bán.

+1

Có lẽ XKCD nên được thêm vào điều tìm kiếm tự động: p – BCS

6

Bạn không thể. Bất kỳ nỗ lực hoặc tiền bạc mà bạn chi tiêu theo đuổi DRM sẽ là một sự lãng phí tài nguyên mà bạn có thể đưa vào cải thiện sản phẩm của bạn. Đặt logo và URL của bạn vào video để bất kỳ ai sao chép chúng đều quảng cáo trang web của bạn, đưa thông báo bản quyền vào video và bắt mọi người bạn bắt chước nội dung của bạn bất hợp pháp và gọi nó là một ngày.

8

Không có cách nào để thêm bảo vệ DRM (tức là mã hóa) vào tệp FLV tĩnh - bất kỳ ai biết URL chỉ có thể tải xuống hoặc (trong một số trường hợp) đưa chúng ra khỏi bộ nhớ cache của trình duyệt và sau đó phát chúng bất kỳ người chơi hỗ trợ nào. (Tuy nhiên, bạn có thể ngăn mọi người nhúng nội dung của mình vào các trang web khác - google "Hotlinking protection".)

Truyền trực tuyến FLV của bạn có thể được thực hiện miễn phí với OSS như Red 5. Tính năng này không cung cấp khả năng bảo vệ "DRM" cho mỗi lần gửi nhưng nó sẽ gửi video trong luồng tệp, vì vậy không có tệp nào để người dùng tải xuống và lưu. Người dùng vẫn có thể nắm bắt tệp với một số chương trình nhất định, nhưng điều này lại bất tiện hơn nhiều.

Đối với DRM "thực", giải pháp duy nhất tôi biết là Adobe Flash Media Rights Management Server. Tôi chưa bao giờ sử dụng nó, nhưng dường như nó sẽ phát nội dung FLV hoặc MP3 được mã hóa DRM và cho phép bạn áp dụng các loại hạn chế DRM thông thường.

+2

DRM là một cơn ác mộng khó khăn để triển khai, tiêu thụ nhiều tài nguyên hơn các giải pháp không phải DRM và thường xuyên khiến người dùng phát điên. Nếu đó là một công nghệ xứng đáng, chúng ta sẽ thấy nó trên mạng. –

2

Bạn có nghĩ đến việc lưu trữ video của mình trên Amazon S3 không? bạn có thể đặt url cho video của mình hết hạn để liên kết tới video sẽ chỉ hợp lệ trong một khoảng thời gian nhất định. Điều này không ngăn cản bất kỳ ai nhận được video từ bộ nhớ cache của họ một khi nó đã tải xuống cũng không ngăn chặn các cách khác như sử dụng Orbit downloader, hoặc RealPlayer video downloader nhưng nó sẽ ngăn chặn hotlinking.

Tôi đồng ý với nhận xét rằng đây là cuộc đua và chiến lược phân phối video chấp nhận rằng mọi người muốn tải xuống video để chia sẻ hoặc sao chép sang các thiết bị khác, v.v. đau miễn phí. Watermark, nhúng liên kết đến trang web của bạn, cố gắng tận dụng sự gia tăng số lượng nhãn cầu xem video của bạn do tải xuống.

33

Tôi hoàn toàn đồng ý với sự đồng thuận DRM của các câu trả lời khác. Nhưng muốn thêm ...

Có một vài obfuscation kỹ thuật mà có thể đáp ứng nhu cầu của bạn. "Đủ tốt", như họ nói. Đây không phải là cơ chế chứng minh đầy đủ, nhưng rất tốt có thể ngăn 80% -99% người cố gắng sao chép các luồng/tệp FLV của bạn. Một hacker chuyên dụng sẽ nhận được với nó, nhưng hầu hết mọi người chỉ là script kiddies (hoặc FireFox họ plug-in yêu thương anh em.) Thêm vào đó, một số trong những kỹ thuật này thực sự dễ dàng:

  • Thay đổi/loại bỏ các loại MIME máy chủ đang phản hồi. Người chơi Flash vui vẻ bỏ qua nó. Ví dụ: hình ảnh/jpeg
  • Thay đổi tiện ích mở rộng tệp từ .flv thành một thứ khác, như .jpg. Một lần nữa, người chơi Flash vui vẻ bỏ qua nó. Ngoài ra, khi tệp được lưu vào đĩa, trình phát không phải FLV sẽ mở (và khiếu nại về nó là định dạng tệp không hợp lệ.)
  • Đặt tiêu đề 'không cache' tích cực cho tất cả nội dung FLV. (Điều này, tự nhiên, có nghĩa là nhiều lưu lượng truy cập và băng thông hơn tiêu thụ. Có lẽ đây không phải là vấn đề cho bạn?)
  • Truyền qua giao thức dựa trên UDP (như RTSP). Trong khi đọc của tôi là các giao thức UDP đang trên đường thoát ra để phát trực tuyến nội dung theo yêu cầu trên quy mô lớn, thì việc sao chép sẽ khó hơn nhiều. Ví dụ: Trình tải xuống thực sự hiện không thể ăn cắp các luồng này.
  • Chia nhỏ nội dung thành hai hoặc nhiều phần nội dung một phần và phát lại chúng.
  • Hide nội dung FLV của bạn đằng sau một, tùy chỉnh cơ chế xác thực một lần đơn giản
    • chơi yêu cầu khóa ủy quyền cho nội dung Một
    • Server trả về một authorization1 chính: SHA1 (key nội dung + salt1)
    • Máy chủ lưu trữ khóa nội dung, ủy quyền1 khóa, ủy quyền2 chính (mà là SHA1 (authorization1 + salt2))
      • một thời gian sử dụng
      • hiệu lực hạn chế (VD:: 2 giây)
    • chơi tạo authorization2
    • chơi yêu cầu nội dung một với authorization2
    • Server gửi nội dung'FLV' cho khách hàng nếu các trận đấu quan trọng và chỉ khi
      • ủy quyền khóa nội dung trong cửa hàng bên máy chủ
      • khóa ủy quyền chưa hết hạn

Tôi đã thực sự thực hiện ý tưởng cuối cùng, cơ chế ủy quyền, bản thân mình và có thể xác minh cho nó hiệu quả thiết thực. Không, nó không hoàn toàn an toàn. Nhưng nó là đủ tốt. Thậm chí không một người sử dụng điện có khả năng đánh bại nó.

Đánh bại nó đòi hỏi

  1. kỹ thuật đảo ngược quá trình này,
  2. dịch ngược Flash player của bạn,
  3. đặt nó tất cả trở lại với nhau một lần nữa.

Đủ tốt.


Nó là tuyệt vời bao nhiêu "plz gửi cho tôi teh codez" email bài đăng này đã tạo ra từ các "đơn giản, tùy chỉnh một lần cơ chế xác thực" gợi ý. Đừng bận tâm, tôi không thể - đó là một dự án độc quyền cho chủ nhân của tôi, xtendx AG. Nếu muốn mua hệ thống, hãy gửi email đến [email protected]

+0

Tôi sử dụng cài đặt này của cơ chế xác thực một lần http://stackoverflow.com/questions/8848919/secure-pseudo-streaming-flv-files những gì bạn nghĩ? – Anatoly

+0

Tôi đã thực hiện một cái gì đó như thế cuối cùng, nhưng nó có thể có rất nhiều vấn đề nếu bạn có bộ nhớ đệm trên máy chủ của bạn. Phá vỡ toàn bộ hệ thống cho tôi, trừ khi bạn giữ các trang liên quan khỏi bị lưu trữ. – Jake

+0

@Jake Vâng, có vẻ như nó hiển nhiên đối với tôi. Nhưng tôi phải thừa nhận rất tốt với những vấn đề liên quan. Theo quy tắc chung, bộ nhớ đệm và bảo mật cụ thể của người dùng là loại trừ lẫn nhau. –

1

các trang web như YouTube cố gắng làm cho việc tải xuống video của họ khó khăn bằng cách làm xáo trộn flash và cũng thay đổi cấu trúc thường xuyên như vậy. Như những người khác đã nói nó là một cuộc chạy đua vũ trang. Youtube cập nhật cấu trúc của chúng và sau đó các công cụ như pytube cũng phải cập nhật.

0

Hãy xem this analysis from Longtail.

Nó bắt đầu với một quy tắc vàng:

Bất cứ ai có thể xem video của bạn có thể ăn cắp video của bạn.

Và nó kết thúc với hàng loạt các mối quan tâm và kỹ thuật phòng ngừa thực sự tốt đẹp.

0

Thực hiện một trang web riêng biệt cho nội dung của bạn. Định cấu hình cài đặt ứng dụng máy chủ web cho trang web thứ 2 ("máy chủ nội dung") để chặn các yêu cầu cho bất kỳ nội dung tĩnh nào (video, hình ảnh của bạn, bất kỳ thứ gì) để bạn có thể kiểm tra cookie quyền cho từng phần nội dung được yêu cầu để kiểm tra xem chúng có đã xác thực và cấp quyền truy cập vào phần nội dung đó hay không.