如何防止/难以下载我的Flash视频?

时间:2022-11-11 23:44:23

I want to at least prevent normal users to download my flash video.

我想至少阻止普通用户下载我的Flash视频。

What's the best way to do it?

最好的方法是什么?

Create a httphandler, add a token (e.g. timeid), set the cache control to no-cache so that only the users with correct token can view the correct video. Is that feasible?

创建httphandler,添加令牌(例如timeid),将缓存控制设置为no-cache,以便只有具有正确令牌的用户才能查看正确的视频。这可行吗?

It is the requirement from client that the video should not be downloaded by users and should be watched only in the particular website.

客户要求用户不应下载视频,只能在特定网站上观看。

I want to know if this works: http://www.somesite.com/video.swf?time=1248319067

我想知道这是否有效:http://www.somesite.com/video.swf?time = 1248319067

Server will generate a token(time in the above example) so that user can only have one request to this link. If the user wants to watch the video again, he needs to go to our website to get the token again. Is this okay to prevent novices from downloading?

服务器将生成一个令牌(上例中的时间),以便用户只能对此链接有一个请求。如果用户想再次观看视频,他需要访问我们的网站再次获取令牌。这可以防止新手下载吗?

I can't download this flash video by the downloadHelper firefox plugin: http://news.bbc.co.uk/2/hi/americas/8164177.stm

我无法通过downloadHelper firefox插件下载此Flash视频:http://news.bbc.co.uk/2/hi/americas/8164177.stm

Updated (13:49 pm 2009/07/23): The above file can be downloaded using some video download software.

更新(2009/07/23下午13:49):可以使用某些视频下载软件下载上述文件。

The video files of following Chinese sites are well protected (I can't download it using many video download software): http://programme.tvb.com/drama/abrideforaride/video/

以下中文网站的视频文件受到很好的保护(我无法使用许多视频下载软件下载):http://programme.tvb.com/drama/abrideforaride/video/

Do you know how it is done?

你知道它是怎么做的吗?

9 个解决方案

#1


I dont think there is an easy way to stop people from getting your videos if they want them,

我不认为有一种简单的方法可以阻止人们获取你的视频,

there are plenty of plugins for firefox that allow downloading from even youtube and many places. And i imagine those plugins would disable any attempt you made to hide your videos.

有很多firefox的插件,甚至可以从youtube和很多地方下载。我想这些插件会禁用您隐藏视频的任何尝试。

not too terribly different than taking an image from flicker, they put a clear gif image over the image that you want to view, so that when you right click and save you get "the shield" image, however can be defeated by the lowly print screen button.

与从闪烁中拍摄图像没有太大不同,他们在您想要查看的图像上放置了一个清晰的GIF图像,这样当您右键单击并保存时,您将获得“屏蔽”图像,但是可以通过低版本打印屏幕按钮。

if you want casual users from getting your file, use a flash control and buffer a minute or two of your videos and make that flash authenticate with the server to get those files. that seems reasonable to me

如果您希望临时用户获取您的文件,请使用闪存控件并缓冲一两分钟的视频,并使该闪存通过服务器进行身份验证以获取这些文件。这对我来说似乎很合理

#2


I don't think there really is an easy way to limit people from getting at it. Your sending them the video, that is how they are able to view it. Any user could just use FRAPS or a similar tool to copy the video from the screen as well.

我不认为真的有一种简单的方法可以限制人们接受它。您向他们发送视频,这是他们能够查看的方式。任何用户都可以使用FRAPS或类似工具从屏幕上复制视频。

If your worry is being copied and used elsewhere then you can watermark it or use a few other types of copy protection methods that will allow you to identify your work on other sites. If your worried about people copying it for personal use, then you really have no way of stopping it, you are sending it to them.

如果您的担心被复制并在其他地方使用,那么您可以为其添加水印或使用一些其他类型的复制保护方法,以便您在其他网站上识别您的工作。如果您担心人们将其复制用于个人用途,那么您实际上无法阻止它,而是将其发送给他们。

Edit: Due diligence would be to inform your customer of how easy it is to copy the work that they will be posting. Most clients have really no idea how easy it is.

编辑:尽职调查将告知您的客户复制他们将要发布的作品是多么容易。大多数客户真的不知道它有多容易。

#3


This is how I like to tackle this issue.

这就是我喜欢解决这个问题的方法。

This method works by creating a ticket to download the content over one http request...Another attempt to use the same ticket to download the content will fail, hence any extensions that attempt to download the content again or a user manually attempting to fail to do so, hence the flash player will be the only way to download the content. However there is one downfall for this approach, users will not be able to skip to a part of the video that has not been download...in some standard player implementation that may even stop the video from loading. Any ideas on this will be highly appreciated.

此方法通过创建通过一个http请求下载内容的票证来工作...另一次使用相同票证下载内容的尝试将失败,因此任何尝试再次下载内容的扩展或用户手动尝试失败的任何扩展这样做,因此Flash播放器将是下载内容的唯一方式。然而,这种方法有一个缺点,用户将无法跳过尚未下载的视频的一部分......在某些标准播放器实现中甚至可能阻止视频加载。对此的任何想法将受到高度赞赏。

I begin by writing a PHP script that takes in a video_id, file_name, or a local path to your video file (Depending on the storage infrastructure of your video collection) in a GET request along with a unique hash value (a hard to guess and come up with probably generated with a secret key so it can be validated to be coming from our reciever (flash player), if the hacker send us a used hash or an invalid hash (does not satisfy our key), we will not send him the file). The PHP script then opens the video file and sends its content with the correct video mime type. for FLV the mime type is video/x-flv. It makes sure that once a unique hash has not been used before and is validly generated from your secret encryption key.

我首先编写一个PHP脚本,该脚本在GET请求中接收视频文件的video_id,file_name或本地路径(取决于视频集合的存储基础结构)以及唯一的哈希值(难以猜测和想出可能是用密钥生成的,所以它可以被验证来自我们的接收器(flash播放器),如果黑客向我们发送一个使用过的哈希或无效的哈希(不满足我们的密钥),我们将不会发送给他文件)。然后PHP脚本打开视频文件并使用正确的视频mime类型发送其内容。对于FLV,mime类型是video / x-flv。它确保一旦以前没有使用过唯一的哈希值,并且从您的秘密加密密钥生成有效哈希值。

Then once the page with the flash player is loading we can give the .php file with the right get parameters as the video url to the video player. (If it is a prude player that only allows flv files you can always program your .htaccess file to parse .flv files as php script in the specific folder only, and rename your .php file as .flv and try your luck)...anyways...Also generate a hash key...perhaps you can take the servers current time and append it to a salt value such as another key known by both scripts, and encrypt this final concatenation with your secret key.

然后,一旦加载了Flash播放器的页面,我们就可以将带有正确获取参数的.php文件作为视频播放器的视频网址。 (如果它是一个只允许flv文件的谨慎播放器,你总是可以编程你的.htaccess文件来解析.flv文件只作为特定文件夹中的php脚本,并将.php文件重命名为.flv并试试你的运气).. .anyways ...也生成一个哈希键...也许您可以将服务器当前时间并将其附加到盐值(例如两个脚本已知的另一个密钥),并使用您的密钥加密此最终串联。

So once the video gateway php script will recieve a filename or hash key...it will decrypt the hash key and figure out if it is validly generated from teh sister script, and make sure not to send the video again to the same hash key...

因此,一旦视频网关php脚本将收到文件名或散列密钥...它将解密散列密钥并确定它是否从姐妹脚本有效生成,并确保不再将视频发送到相同的散列密钥...

For added security you can perhaps reset the secret key everyday using either a cronjob or bootstrap mechanism. To prevent duplicate use of hashkeys you can store them in a mysql database, file operations, or NOSQL (depending on your needs and infrastructure).

为了增加安全性,您可以使用cronjob或bootstrap机制每天重置密钥。为了防止重复使用hashkeys,您可以将它们存储在mysql数据库,文件操作或NOSQL中(取决于您的需求和基础结构)。

Make sure that the file is requested by the same user agent the hash key was generated for. In case the hacker trys to cURL or Wget your videos unused url before the flash player gets a chance to consume the hash key. In this case the hacker will have to imitate the browser's user agent or download the file using their command line tool as well...However please note that this is not your average champ.

确保生成哈希密钥的同一用户代理请求该文件。如果黑客在Flash播放器有机会使用散列密钥之前尝试cURL或Wget您的视频未使用的URL。在这种情况下,黑客将不得不模仿浏览器的用户代理或使用他们的命令行工具下载文件...但请注意,这不是你的普通冠军。

#4


It sounds like you need to add authorization and authentication.

听起来您需要添加授权和身份验证。

You could put the flash video under a different folder in your ASP.Net application and add a web.config file in that folder to deny access to unauthorized users. For example:

您可以将Flash视频放在ASP.Net应用程序中的不同文件夹下,并在该文件夹中添加web.config文件以拒绝未经授权的用户访问。例如:

Then you need to enable authentication for your website. The simplest method is forms authentication. A trivial example with hard coded username and password is provided here.

然后,您需要为您的网站启用身份验证。最简单的方法是表单身份验证。这里提供了一个带有硬编码用户名和密码的简单示例。

There is loads that you can do with the authentication framework in ASP.Net I suggest googling a bit.

您可以使用ASP.Net中的身份验证框架进行加载我建议谷歌搜索一下。

#5


The only way to do this is with a trusted client, DRM and an encrypted source.

执行此操作的唯一方法是使用受信任的客户端,DRM和加密的源。

Your player opens up a connection, the user has a connection to the stream, you perform some magic authentication with their token and then transmite the encrypted data to them.

您的播放器打开一个连接,用户与该流有连接,您使用其令牌执行一些魔术验证,然后将加密数据传输给它们。

If you don't do this then anyone can download your video and save it out.

如果您不这样做,那么任何人都可以下载您的视频并将其保存。

However with all that aside, someone can run screen capture, then save your video and do it again. This is again where the DRM comes in as one of the key features of the DRM in windows clients is that the buffer cannot be sniffed as it's on the protected media pathway.

但是除此之外,有人可以运行屏幕截图,然后保存您的视频并再次执行。这也是DRM进入的地方,因为Windows客户端中DRM的一个关键特性是缓冲区无法被嗅探,因为它位于受保护的媒体路径上。

I guess its a question of how to protect your revenue but dealing with pirates is always going to be a problem for software devs no matter what their business is.

我想这是一个如何保护您的收入但是与盗版打交道的问题,无论他们的业务是什么,对软件开发者来说都是一个问题。

#6


I have a solution that i'm gonna try for myself (as I have the same worries) but I know that it includes a lot of extra time and work...

我有一个解决方案,我会为自己尝试(因为我有同样的担忧),但我知道它包含了很多额外的时间和工作......

Solution: using flash compress the video into an swf file. Before compressing add some AS code to the movie for authentication. suggestions for authentication:

解决方案:使用flash将视频压缩为swf文件。在压缩之前,将一些AS代码添加到影片中以进行身份​​验证。认证建议:

1 test url 2 create a dedicated flash player that has handshake code checked by the video.swf

1 test url 2创建一个专用的flash播放器,其中包含由video.swf检查的握手代码

I like #2 better, and as an extra measure, you can overlay an id code over the video, so if someone captures the video using screen recording software, you'd at least be able to track the original source of the copied video.. and exact suitable retribution...

我更喜欢#2,作为一项额外措施,您可以在视频上叠加id代码,因此如果有人使用屏幕录制软件捕获视频,您至少可以跟踪复制视频的原始来源。并且确切合适的报应......

#7


Simply you can't prevent it. But..you can make it difficult. Here some ideas come in my mind

简直就是你无法阻止它。但是......你可以让它变得困难。在这里我想到了一些想法

1 First of all add your identifier to the video (always someone can download it)

1首先将您的标识符添加到视频中(总是有人可以下载)

2 The hard way... Add Ajax call back to server to check a random generated key that it will stored in the session every N seconds. After every post back clear the buffer of the player and start the video from were i was (using javascript). Use again JavaScript prevent the video source from downloading by "view source".

2困难的方法...将Ajax回调添加回服务器以检查随机生成的密钥,它将每隔N秒存储在会话中。在每个帖子后面清除播放器的缓冲区并从我开始视频(使用javascript)。再次使用JavaScript阻止视频源通过“查看源”下载。

3 Handle all your videos in urls like http://www.example.com/viewvideo/1 OR ../?id=1. Add blank image overlay with transparent background. Serve the original video and a blank video somewhere on the page with normal extension and style attribute "display:none". (will create problems to some download helpers)

3处理您在http://www.example.com/viewvideo/1或../?id=1等网址中的所有视频。添加透明背景的空白图像叠加。使用正常扩展名和样式属性“display:none”在页面上的某处投放原始视频和空白视频。 (会给一些下载助手造成问题)

4 Everytime you serve a video CHECK if the request is from a browser (ie check UserAgent)

4每次发送视频时请检查请求是否来自浏览器(即检查UserAgent)

5 Cookie with some random value combined with the id of the video. Check it client-side and server side and then serve the video.

5 Cookie具有一些随机值和视频ID。检查客户端和服务器端,然后提供视频。

6 On focusout event hide the video with javascript. put a resume button in the flash and leave the frame unchange (like pause but with no original video in buffer).

6关于焦点事件使用javascript隐藏视频。将一个恢复按钮放在闪光灯中,让画面保持不变(如暂停,但缓冲区中没有原始视频)。

7 Combine those methods

7结合这些方法

these are random generated ideas, not tested neither i say that guaranties no video downloading.

这些都是随机生成的想法,没有经过测试,我说保证没有视频下载。

#8


I have attempted two way to prevent the downloading but fails.

我试过两种方法来阻止下载但是失败了。

  • Using javascript to dynamically generate the object for flash.
  • 使用javascript动态生成flash对象。

  • Using the token idea proposed in the question.
  • 使用问题中提出的令牌想法。

What annoying me most is that a simple SAVE/AS from the firefox browser could easily bypass the tricks.

令我烦恼的是,来自firefox浏览器的简单SAVE / AS可以轻松绕过这些技巧。

The only variable way so far is to using an empty swf file to load another swf file in. Combined with the token idea, it works.

到目前为止,唯一可变的方法是使用一个空的swf文件来加载另一个swf文件。结合令牌的想法,它可以工作。

#9


in my answer you cant stop image/video theft but you can make harder for normal users but you can't make it harder for the programmers like us( i mean thiefs that knows little web programming) there are some tricks you can try:-

在我的回答中,你不能停止图像/视频盗窃,但你可以为普通用户更难,但你不能让像我们这样的程序员更难(我的意思是知道小网页编程的小偷)你可以尝试一些技巧: -

1.) Using flash as youtube and many others sites like http://www.funnenjoy.com does .

1.)使用flash作为youtube和许多其他网站,如http://www.funnenjoy.com。

2.) Div overlaping or background pic setting (but users with little sense can easily save all resources by opening inspect element or other developer option).

2.)Div重叠或背景图片设置(但没有意义的用户可以通过打开检查元素或其他开发人员选项轻松保存所有资源)。

3.) You can disable right click and specific keys like CTRL + S and others possibles with JAVASCRIPT but main drawback is that if user disable JAVASCRIPT our all tricks fail down.

3.)您可以使用JAVASCRIPT禁用右键单击和特定键,如CTRL + S和其他可能的键,但主要缺点是,如果用户禁用JAVASCRIPT,我们的所有技巧都会失败。

4.)Save image in none online directories(if you have full access to web server) and read that files with server side languages like PHP every time when image / video is required and change image id time to time or create script that can automatically change ID after every access.

4.)将图像保存在任何在线目录中(如果您具有对Web服务器的完全访问权限),并在每次需要图像/视频时使用服务器端语言(如PHP)读取该文件并及时更改图像ID或创建可自动执行的脚本每次访问后更改ID。

5.)Use .htaccess in apache to prevent linking of your images by others sites. you can use this site to automatically generate .htacess http://www.htaccesstools.com/hotlink-protection/

5.)在apache中使用.htaccess以防止其他站点链接您的图像。您可以使用此站点自动生成.htacess http://www.htaccesstools.com/hotlink-protection/

#1


I dont think there is an easy way to stop people from getting your videos if they want them,

我不认为有一种简单的方法可以阻止人们获取你的视频,

there are plenty of plugins for firefox that allow downloading from even youtube and many places. And i imagine those plugins would disable any attempt you made to hide your videos.

有很多firefox的插件,甚至可以从youtube和很多地方下载。我想这些插件会禁用您隐藏视频的任何尝试。

not too terribly different than taking an image from flicker, they put a clear gif image over the image that you want to view, so that when you right click and save you get "the shield" image, however can be defeated by the lowly print screen button.

与从闪烁中拍摄图像没有太大不同,他们在您想要查看的图像上放置了一个清晰的GIF图像,这样当您右键单击并保存时,您将获得“屏蔽”图像,但是可以通过低版本打印屏幕按钮。

if you want casual users from getting your file, use a flash control and buffer a minute or two of your videos and make that flash authenticate with the server to get those files. that seems reasonable to me

如果您希望临时用户获取您的文件,请使用闪存控件并缓冲一两分钟的视频,并使该闪存通过服务器进行身份验证以获取这些文件。这对我来说似乎很合理

#2


I don't think there really is an easy way to limit people from getting at it. Your sending them the video, that is how they are able to view it. Any user could just use FRAPS or a similar tool to copy the video from the screen as well.

我不认为真的有一种简单的方法可以限制人们接受它。您向他们发送视频,这是他们能够查看的方式。任何用户都可以使用FRAPS或类似工具从屏幕上复制视频。

If your worry is being copied and used elsewhere then you can watermark it or use a few other types of copy protection methods that will allow you to identify your work on other sites. If your worried about people copying it for personal use, then you really have no way of stopping it, you are sending it to them.

如果您的担心被复制并在其他地方使用,那么您可以为其添加水印或使用一些其他类型的复制保护方法,以便您在其他网站上识别您的工作。如果您担心人们将其复制用于个人用途,那么您实际上无法阻止它,而是将其发送给他们。

Edit: Due diligence would be to inform your customer of how easy it is to copy the work that they will be posting. Most clients have really no idea how easy it is.

编辑:尽职调查将告知您的客户复制他们将要发布的作品是多么容易。大多数客户真的不知道它有多容易。

#3


This is how I like to tackle this issue.

这就是我喜欢解决这个问题的方法。

This method works by creating a ticket to download the content over one http request...Another attempt to use the same ticket to download the content will fail, hence any extensions that attempt to download the content again or a user manually attempting to fail to do so, hence the flash player will be the only way to download the content. However there is one downfall for this approach, users will not be able to skip to a part of the video that has not been download...in some standard player implementation that may even stop the video from loading. Any ideas on this will be highly appreciated.

此方法通过创建通过一个http请求下载内容的票证来工作...另一次使用相同票证下载内容的尝试将失败,因此任何尝试再次下载内容的扩展或用户手动尝试失败的任何扩展这样做,因此Flash播放器将是下载内容的唯一方式。然而,这种方法有一个缺点,用户将无法跳过尚未下载的视频的一部分......在某些标准播放器实现中甚至可能阻止视频加载。对此的任何想法将受到高度赞赏。

I begin by writing a PHP script that takes in a video_id, file_name, or a local path to your video file (Depending on the storage infrastructure of your video collection) in a GET request along with a unique hash value (a hard to guess and come up with probably generated with a secret key so it can be validated to be coming from our reciever (flash player), if the hacker send us a used hash or an invalid hash (does not satisfy our key), we will not send him the file). The PHP script then opens the video file and sends its content with the correct video mime type. for FLV the mime type is video/x-flv. It makes sure that once a unique hash has not been used before and is validly generated from your secret encryption key.

我首先编写一个PHP脚本,该脚本在GET请求中接收视频文件的video_id,file_name或本地路径(取决于视频集合的存储基础结构)以及唯一的哈希值(难以猜测和想出可能是用密钥生成的,所以它可以被验证来自我们的接收器(flash播放器),如果黑客向我们发送一个使用过的哈希或无效的哈希(不满足我们的密钥),我们将不会发送给他文件)。然后PHP脚本打开视频文件并使用正确的视频mime类型发送其内容。对于FLV,mime类型是video / x-flv。它确保一旦以前没有使用过唯一的哈希值,并且从您的秘密加密密钥生成有效哈希值。

Then once the page with the flash player is loading we can give the .php file with the right get parameters as the video url to the video player. (If it is a prude player that only allows flv files you can always program your .htaccess file to parse .flv files as php script in the specific folder only, and rename your .php file as .flv and try your luck)...anyways...Also generate a hash key...perhaps you can take the servers current time and append it to a salt value such as another key known by both scripts, and encrypt this final concatenation with your secret key.

然后,一旦加载了Flash播放器的页面,我们就可以将带有正确获取参数的.php文件作为视频播放器的视频网址。 (如果它是一个只允许flv文件的谨慎播放器,你总是可以编程你的.htaccess文件来解析.flv文件只作为特定文件夹中的php脚本,并将.php文件重命名为.flv并试试你的运气).. .anyways ...也生成一个哈希键...也许您可以将服务器当前时间并将其附加到盐值(例如两个脚本已知的另一个密钥),并使用您的密钥加密此最终串联。

So once the video gateway php script will recieve a filename or hash key...it will decrypt the hash key and figure out if it is validly generated from teh sister script, and make sure not to send the video again to the same hash key...

因此,一旦视频网关php脚本将收到文件名或散列密钥...它将解密散列密钥并确定它是否从姐妹脚本有效生成,并确保不再将视频发送到相同的散列密钥...

For added security you can perhaps reset the secret key everyday using either a cronjob or bootstrap mechanism. To prevent duplicate use of hashkeys you can store them in a mysql database, file operations, or NOSQL (depending on your needs and infrastructure).

为了增加安全性,您可以使用cronjob或bootstrap机制每天重置密钥。为了防止重复使用hashkeys,您可以将它们存储在mysql数据库,文件操作或NOSQL中(取决于您的需求和基础结构)。

Make sure that the file is requested by the same user agent the hash key was generated for. In case the hacker trys to cURL or Wget your videos unused url before the flash player gets a chance to consume the hash key. In this case the hacker will have to imitate the browser's user agent or download the file using their command line tool as well...However please note that this is not your average champ.

确保生成哈希密钥的同一用户代理请求该文件。如果黑客在Flash播放器有机会使用散列密钥之前尝试cURL或Wget您的视频未使用的URL。在这种情况下,黑客将不得不模仿浏览器的用户代理或使用他们的命令行工具下载文件...但请注意,这不是你的普通冠军。

#4


It sounds like you need to add authorization and authentication.

听起来您需要添加授权和身份验证。

You could put the flash video under a different folder in your ASP.Net application and add a web.config file in that folder to deny access to unauthorized users. For example:

您可以将Flash视频放在ASP.Net应用程序中的不同文件夹下,并在该文件夹中添加web.config文件以拒绝未经授权的用户访问。例如:

Then you need to enable authentication for your website. The simplest method is forms authentication. A trivial example with hard coded username and password is provided here.

然后,您需要为您的网站启用身份验证。最简单的方法是表单身份验证。这里提供了一个带有硬编码用户名和密码的简单示例。

There is loads that you can do with the authentication framework in ASP.Net I suggest googling a bit.

您可以使用ASP.Net中的身份验证框架进行加载我建议谷歌搜索一下。

#5


The only way to do this is with a trusted client, DRM and an encrypted source.

执行此操作的唯一方法是使用受信任的客户端,DRM和加密的源。

Your player opens up a connection, the user has a connection to the stream, you perform some magic authentication with their token and then transmite the encrypted data to them.

您的播放器打开一个连接,用户与该流有连接,您使用其令牌执行一些魔术验证,然后将加密数据传输给它们。

If you don't do this then anyone can download your video and save it out.

如果您不这样做,那么任何人都可以下载您的视频并将其保存。

However with all that aside, someone can run screen capture, then save your video and do it again. This is again where the DRM comes in as one of the key features of the DRM in windows clients is that the buffer cannot be sniffed as it's on the protected media pathway.

但是除此之外,有人可以运行屏幕截图,然后保存您的视频并再次执行。这也是DRM进入的地方,因为Windows客户端中DRM的一个关键特性是缓冲区无法被嗅探,因为它位于受保护的媒体路径上。

I guess its a question of how to protect your revenue but dealing with pirates is always going to be a problem for software devs no matter what their business is.

我想这是一个如何保护您的收入但是与盗版打交道的问题,无论他们的业务是什么,对软件开发者来说都是一个问题。

#6


I have a solution that i'm gonna try for myself (as I have the same worries) but I know that it includes a lot of extra time and work...

我有一个解决方案,我会为自己尝试(因为我有同样的担忧),但我知道它包含了很多额外的时间和工作......

Solution: using flash compress the video into an swf file. Before compressing add some AS code to the movie for authentication. suggestions for authentication:

解决方案:使用flash将视频压缩为swf文件。在压缩之前,将一些AS代码添加到影片中以进行身份​​验证。认证建议:

1 test url 2 create a dedicated flash player that has handshake code checked by the video.swf

1 test url 2创建一个专用的flash播放器,其中包含由video.swf检查的握手代码

I like #2 better, and as an extra measure, you can overlay an id code over the video, so if someone captures the video using screen recording software, you'd at least be able to track the original source of the copied video.. and exact suitable retribution...

我更喜欢#2,作为一项额外措施,您可以在视频上叠加id代码,因此如果有人使用屏幕录制软件捕获视频,您至少可以跟踪复制视频的原始来源。并且确切合适的报应......

#7


Simply you can't prevent it. But..you can make it difficult. Here some ideas come in my mind

简直就是你无法阻止它。但是......你可以让它变得困难。在这里我想到了一些想法

1 First of all add your identifier to the video (always someone can download it)

1首先将您的标识符添加到视频中(总是有人可以下载)

2 The hard way... Add Ajax call back to server to check a random generated key that it will stored in the session every N seconds. After every post back clear the buffer of the player and start the video from were i was (using javascript). Use again JavaScript prevent the video source from downloading by "view source".

2困难的方法...将Ajax回调添加回服务器以检查随机生成的密钥,它将每隔N秒存储在会话中。在每个帖子后面清除播放器的缓冲区并从我开始视频(使用javascript)。再次使用JavaScript阻止视频源通过“查看源”下载。

3 Handle all your videos in urls like http://www.example.com/viewvideo/1 OR ../?id=1. Add blank image overlay with transparent background. Serve the original video and a blank video somewhere on the page with normal extension and style attribute "display:none". (will create problems to some download helpers)

3处理您在http://www.example.com/viewvideo/1或../?id=1等网址中的所有视频。添加透明背景的空白图像叠加。使用正常扩展名和样式属性“display:none”在页面上的某处投放原始视频和空白视频。 (会给一些下载助手造成问题)

4 Everytime you serve a video CHECK if the request is from a browser (ie check UserAgent)

4每次发送视频时请检查请求是否来自浏览器(即检查UserAgent)

5 Cookie with some random value combined with the id of the video. Check it client-side and server side and then serve the video.

5 Cookie具有一些随机值和视频ID。检查客户端和服务器端,然后提供视频。

6 On focusout event hide the video with javascript. put a resume button in the flash and leave the frame unchange (like pause but with no original video in buffer).

6关于焦点事件使用javascript隐藏视频。将一个恢复按钮放在闪光灯中,让画面保持不变(如暂停,但缓冲区中没有原始视频)。

7 Combine those methods

7结合这些方法

these are random generated ideas, not tested neither i say that guaranties no video downloading.

这些都是随机生成的想法,没有经过测试,我说保证没有视频下载。

#8


I have attempted two way to prevent the downloading but fails.

我试过两种方法来阻止下载但是失败了。

  • Using javascript to dynamically generate the object for flash.
  • 使用javascript动态生成flash对象。

  • Using the token idea proposed in the question.
  • 使用问题中提出的令牌想法。

What annoying me most is that a simple SAVE/AS from the firefox browser could easily bypass the tricks.

令我烦恼的是,来自firefox浏览器的简单SAVE / AS可以轻松绕过这些技巧。

The only variable way so far is to using an empty swf file to load another swf file in. Combined with the token idea, it works.

到目前为止,唯一可变的方法是使用一个空的swf文件来加载另一个swf文件。结合令牌的想法,它可以工作。

#9


in my answer you cant stop image/video theft but you can make harder for normal users but you can't make it harder for the programmers like us( i mean thiefs that knows little web programming) there are some tricks you can try:-

在我的回答中,你不能停止图像/视频盗窃,但你可以为普通用户更难,但你不能让像我们这样的程序员更难(我的意思是知道小网页编程的小偷)你可以尝试一些技巧: -

1.) Using flash as youtube and many others sites like http://www.funnenjoy.com does .

1.)使用flash作为youtube和许多其他网站,如http://www.funnenjoy.com。

2.) Div overlaping or background pic setting (but users with little sense can easily save all resources by opening inspect element or other developer option).

2.)Div重叠或背景图片设置(但没有意义的用户可以通过打开检查元素或其他开发人员选项轻松保存所有资源)。

3.) You can disable right click and specific keys like CTRL + S and others possibles with JAVASCRIPT but main drawback is that if user disable JAVASCRIPT our all tricks fail down.

3.)您可以使用JAVASCRIPT禁用右键单击和特定键,如CTRL + S和其他可能的键,但主要缺点是,如果用户禁用JAVASCRIPT,我们的所有技巧都会失败。

4.)Save image in none online directories(if you have full access to web server) and read that files with server side languages like PHP every time when image / video is required and change image id time to time or create script that can automatically change ID after every access.

4.)将图像保存在任何在线目录中(如果您具有对Web服务器的完全访问权限),并在每次需要图像/视频时使用服务器端语言(如PHP)读取该文件并及时更改图像ID或创建可自动执行的脚本每次访问后更改ID。

5.)Use .htaccess in apache to prevent linking of your images by others sites. you can use this site to automatically generate .htacess http://www.htaccesstools.com/hotlink-protection/

5.)在apache中使用.htaccess以防止其他站点链接您的图像。您可以使用此站点自动生成.htacess http://www.htaccesstools.com/hotlink-protection/