Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何保护图片?_Asp.net_Security_Protection_Image - Fatal编程技术网

Asp.net 如何保护图片?

Asp.net 如何保护图片?,asp.net,security,protection,image,Asp.net,Security,Protection,Image,我正在使用asp.net,我的用户需要将私人图片上载到我的服务器。这张照片无论如何都无法传播,所以我需要以某种方式保护它们。保护它们不被公众使用的最简单方法是什么,这样只有授权用户才能接触到它们 谢谢 使用asp.net处理程序,而不是直接为图像提供服务。通过这种方式,您可以在为映像提供服务时对授权进行粒度控制 此外,请将图像保存在公共文件夹之外,以便用户无法下载它们,即将其存储在网站文件夹之外或数据库中 有关处理程序的更多信息,请检查此项:。这两个示例都提供图像,但它们都专注于非常具体的场景。

我正在使用asp.net,我的用户需要将私人图片上载到我的服务器。这张照片无论如何都无法传播,所以我需要以某种方式保护它们。保护它们不被公众使用的最简单方法是什么,这样只有授权用户才能接触到它们


谢谢

使用asp.net处理程序,而不是直接为图像提供服务。通过这种方式,您可以在为映像提供服务时对授权进行粒度控制

此外,请将图像保存在公共文件夹之外,以便用户无法下载它们,即将其存储在网站文件夹之外或数据库中

有关处理程序的更多信息,请检查此项:。这两个示例都提供图像,但它们都专注于非常具体的场景。从中可以看出,您可以完全控制在其中实现的逻辑,因此您可以检查请求映像的用户是否有权下载指定的映像。

  • 您是否希望公众能够查看这些图像,但下载起来会有点困难

    如果是这样的话,你可以调查任何不允许下载的人。他们在真实图像的上方放置一个透明的GIF图像,以防止通过右键单击图像来下载图像

    下载它们仍然很容易,因为根据经验,任何公众可以看到的东西,他们都可以保存到硬盘上。因此,我认为试图阻止下载公开可见的材料是徒劳的;而且主要是违反了可用性。也许你应该考虑法律途径,而不是混淆;清楚地陈述你的版权声明和任何你想要的许可证,并准备追捕任何窃取它们的人

  • 您是否允许人们从您的站点查看和下载图像,但不允许从其他站点热链接图像

    如果是这样,关键是检测发送的referer(sic)头,如果referer不匹配,则拒绝图像。请注意,如果referer为空,默认情况下您必须信任它,因为许多人的浏览器即使在您自己的页面上查看,也不会发送referer

    这通常在服务器指令中完成;如果您使用的是Apache,那么您就会这样做。但是,如果你在IIS上,那么我就不太清楚了

  • 或者,您想阻止公众查看它们吗?如果是这样的话,您只需要在您正在使用的任何服务器上使用访问控制—下面是示例


您可能想看看这个问题,了解一些想法:

您必须更具体地说明在用户上传这些图像后,您想对这些图像做些什么。您是否将其存档,将其提供给受限制的组,或。。。人们应该以什么方式访问它们?否则,您可以删除它们--这样可以确保它们不会被传播;-)@thomasrutter我同意你不能做很多事情来阻止授权用户保存图像并将其传播到你的系统之外。这并不意味着你可以让任何未经授权的人直接从系统下载用户的图像。@Freddy Rios,如果需要阻止未经授权的人,那么这就是访问控制问题-你需要这样做,以便未经授权的人根本无法访问图片。但为了让人们查看这些图片,没有物理方法可以阻止他们保存或复制它们,只有合法的方法。@thomasrutter同意,请重新阅读问题:)---我认为这正是(授权)的问题,请注意,您可以完全按照每个用户/组对图片进行授权