Jquery 避免的下载来源-可能吗?

Jquery 避免的下载来源-可能吗?,jquery,html,Jquery,Html,我想添加一个翻页书插件,例如在我的页面上。所有这样的插件都使用原始标签,我可以在这里看到URL并下载图像。我想避免这种情况,我不想让用户下载这样的图像,我已经开始考虑一些保护措施 在这里,我需要一些技巧,我如何才能做到这一点 我在考虑动态生成整个页面。但是,如果我加载异步页面,我可以通过FireBug获得URL …或者使用空标记动态加载他们的内容?一般来说,您作为网页资产提供的任何内容都无法保护。图像、CSS/JS文件、Flash SWF等等。浏览器加载页面时,将下载布局中的所有资源 虽然这是在

我想添加一个翻页书插件,例如在我的页面上。所有这样的插件都使用原始标签,我可以在这里看到URL并下载图像。我想避免这种情况,我不想让用户下载这样的图像,我已经开始考虑一些保护措施

在这里,我需要一些技巧,我如何才能做到这一点

我在考虑动态生成整个页面。但是,如果我加载异步页面,我可以通过FireBug获得URL


…或者使用空标记动态加载他们的内容?

一般来说,您作为网页资产提供的任何内容都无法保护。图像、CSS/JS文件、Flash SWF等等。浏览器加载页面时,将下载布局中的所有资源


虽然这是在幕后无声地执行的,但事实是这些文件已经在客户端的计算机中。在这一点上,无法阻止狡猾的用户获取您的文件,因为仅仅是浏览的性质,他/她已经拥有了。

所有图像都将通过浏览器下载。所以用户可以访问它。
如果你想限制这一点,也许你可以使用某种加密的Flash,我在Flash上做得不好。

正如这里所有的人都提到的:用户将始终能够下载任何可供其浏览器使用的资产——事实上,如果用户看到你的页面,他们已经下载了

无论如何,你能做的就是通过使图片的URL无效来阻止访问者下载你第二次交付的图片。 这需要在服务器上编写一些脚本:

在交付HTML页面时,为每个图像创建一个唯一的令牌,该图像是您希望通过对页面的每个请求来保护的。将其与图像的标识符(如服务器上图像的本地路径)或数据库中图像表示的id一起存储在缓存或数据库中。不要将图像的真实url放在HTML或JavaScript中,而是使用:或

浏览器将尝试从img的src URL加载资源。如果您在服务器上收到对该资源的请求,请立即交付映像并从缓存中删除令牌。如果您在缓存中找不到令牌,请发送一个错误页面,例如此资源的下载令牌已被使用

确保您交付的映像具有适当的缓存控制标头请参阅:。这将防止浏览器将图像存储到硬盘中。请注意:浏览器总是试图为其用户实现最佳性能,所以不要指望它——但根据http标准,这是一个必须遵守的标题,我猜浏览器只会将图像存储在内存中

这样,用户只需复制 顺便说一下,这就是大多数文件共享和在线视频流服务保护下载链接的方式。每个请求和资源只有一个令牌,一旦资源被交付,令牌就会被删除。如果没有令牌,那么就没有资源,资源的真实URL永远不必显示,事实上,不需要任何真实的URL


不过:这是默默无闻的安全。但在80%的情况下,这将阻止用户下载您的图像。

浏览器可用的任何资源都将对用户可用。这适用于图像、样式表、脚本等。你无法阻止某人下载图像。他们甚至不需要非常努力:只需打开浏览器的开发工具,导航到它为你提供指示获取的所有内容列表的位置。在指示浏览器这样做之前,你跳过了什么环并不重要。用户也可以随时下载flash并访问它,尽管这需要更多的努力。当然,你可以混淆你的swf,但你不能完全保护它。“Encryption”(加密)一词每定义1个可反转2在此类广告中经常被误用,以给人一种实际无法提供的安全感。听起来不错,但用户单击加载的图像并选择“另存图像为上下文菜单”选项的内容取决于浏览器-有些人会尝试重新加载并开始下载,有些人只是将其从内存缓存保存到磁盘。。。顺便说一句,将图像作为css背景图像放在适当大小的div中,而不是使用img标记,这是一个好主意。但是如果图像将是div背景,我必须将有效的url“/images/myimage.png”放在div中。没有这个标记?还有一件事——这是一个非常讨厌的问题:你也可以在图像上方放置一个与图像大小相同的div,并给它一个1x1px透明的PNG作为背景图像——甚至当用户尝试保存图像时,Firefox将只存储空白PNG——它们将不得不打开开发者控制台并移除。为了使用上下文菜单,手动从DOM树中删除覆盖div。我见过pages这样做
使用java脚本监控是否移除了封套–然后他们也移除了图像。。。仍然都是无用的,因为有很多方法可以获取图像…不,你也不会使用令牌url–我建议使用一个好的重写规则,并通过一些url模式交付图像,如下所示:–搜索引擎也可能喜欢这种url模式,因为有一些吸引人的名称