关于服务器图片保存方案的纠结

问题描述

最近给客户的学校做个asp.net的报名系统,客户是要求对社会上的学员开放注册并且要求上传证件。本来从安全方面考虑是想将原始证件图片传到buffer文件夹后,在服务器端重新保存成想要的格式和尺寸,然后再转成byte[]类型存在数据库里的,但是预估了一下数据库会很快过G,对性能和以后备份之类的负面影响还是挺大的,而且这样弄还是挺麻烦的。于是考虑另一个方案就是将图片保存在文件系统里,为了防止证照图片被别有用心的他人下载,将图片按尺寸规范重写后随机分配一个文件名,然后再数据库里保存这个文件名用于检索,并设置iis用户没有那个文件夹的List权限,这样他人无法得知其他图片的文件名就无法下载。但是又有担心,现在厉害的下载软件很多,会不会还有可能被某些下载工具获取目录下所有图片造成泄密呢。这种做法是否周全,还有什么需要设置的地方?

解决方案

解决方案二:
都设置了权限还担心什么,我觉得这样就行
解决方案三:
引用楼主wangfengyun的回复:

为了防止证照图片被别有用心的他人下载,将图片按尺寸规范重写后随机分配一个文件名,然后再数据库里保存这个文件名用于检索,并设置iis用户没有那个文件夹的List权限,这样他人无法得知其他图片的文件名就无法下载。但是又有担心,现在厉害的下载软件很多,会不会还有可能被某些下载工具获取目录下所有图片造成泄密呢。这种做法是否周全,还有什么需要设置的地方?

你这种纠结是因为不懂asp.net所以瞎折腾。asp.net程序里的数据应该放在app_data目录下(包括子目录下)。你试试看,能轻易下载吗?稍微懂点asp.net吧。别胡乱折腾什么“设置iis文件夹权限”之类的。
解决方案四:
在服务器存的时候图片的名称搞成guid,这样一般应该猜不出来图片的准确名称了。
解决方案五:
这样他人无法得知其他图片的文件名就无法下载->如果资源根本不可访问,输入url都看不到,谈何下载

时间: 2024-09-17 03:12:59

关于服务器图片保存方案的纠结的相关文章

图片保存成文件-如何将Html网页生成的二维码图片保存成PNG图片文件存放到服务器上

问题描述 如何将Html网页生成的二维码图片保存成PNG图片文件存放到服务器上 目前已实现动态生成二维码图片,生成地址:http://wx.yseasy.com/erweima_1.asp?val=yyy 但需要将该图片保存下来以方便调用,目前想到有两种方案: 1.将图片的base64位编码保存到数据库,调用时解码显示//(这种方法小菜不知该如何获取它的base64位编码) 2.将图片保存成文件存放到服务器,再将图片路径保存到数据库,再调用显示//(这种方法小菜不知道该如何将此生成图保存为文件)

hbuilder-js怎么根据服务器图片路径而获取图片,并保存到本机?急急急

问题描述 js怎么根据服务器图片路径而获取图片,并保存到本机?急急急 这个是数据库表的图片路径,一个是本机,picPPath是服务器保存的图片路径.我现在想根据这个picPPath路径获取图片,并保存到picTPath这个路径.求大神,求大腿.QQ945655649 解决方案 js获取本地图片路径急急急!!!!怎么下载一个指定DIV里面的图片到本地呀!!!!!!!!!!!!!!

从flex中传过来的byteArray数据怎样让Java服务器转成图片保存下来

问题描述 从flex中传过来的byteArray数据怎样让Java服务器转成图片保存下来请大家帮帮忙!!谢谢了 解决方案 解决方案二:byte直接存到文件里就行啦.解决方案三:FileOutputStream解决方案四:谁能给个例子看看,有用分数给上

Android 3.1,收到环信服务器图片,点开大图时存放到本地,做操作将这张图片保存,在发送这张图片,图片发送正常,但本地的图片被删除了,请问这是什么情况,很急!

问题描述 android端接收到另一台android设备发送的图片,点击查看大图,从换新服务器将这张图片下载到了本地,在本地查看有一个缩略图文件,一个大图文件.然后将这个图片保存到了本地相册.接收的android设备在将这张图片发出去,别的设备接收是正常的,但本地显示错误了,这张图片被删除了.但是用ios发图片,接收存储都是正常的.找了很多地方,一直找不到原因,麻烦大家给看看哪里出问题了,很着急,谢谢. 解决方案 更新到最新的版本看看

php Curl保存远程服务器图片

php Curl保存远程服务器图片 function LoadImageCURL($save_to){         $ch = curl_init($this->source);         $fp = fopen($save_to, "wb");                 // set URL and other appropriate options         $options = array(CURLOPT_FILE => $fp,        

php 保存远程服务器图片代码

php 保存远程服务器图片代码 <?php function getmicrotime(){     list($usec, $sec) = explode(" ",microtime());     return ((float)$usec + (float)$sec); } function SaveHTTPFile($fFileHTTPPath,$fFileSavePath,$fFileSaveName) {  //记录程序开始的时间  $BeginTime=getmicr

php 将图片保存为不同规格的图片

 1.图片处理类.imagecls.php <?php /** 图片处理类 */ class imagecls { /** * 文件信息 */ var $file = array(); /** * 保存目录 */ var $dir = ''; /** * 错误代码 */ var $error_code = 0; /** * 文件上传最大KB */ var $max_size = -1; function es_imagecls() { } private function checkSize($

javascript-通过js我已经实现了截取一定区域的图片(图片一共7张),如何把这些截取的图片保存到本地指定路径下

问题描述 通过js我已经实现了截取一定区域的图片(图片一共7张),如何把这些截取的图片保存到本地指定路径下 我自己通过js已经实现截取一定区域的图片一共7张图片.但是如何把这7张图片保存到本地的指定目录下.请大神指教~~~ 解决方案 AndEngine实现屏幕截取和图片保存通过正则表达式来截取图片路径屏幕区域截取图片的实现 解决方案二: 用最新的google浏览器可以实现file保存等功能,要通用的话,建议还是服务器上提供下载.

马上开始:五种具备可行性的无服务器框架应用方案

[51CTO.com快译]很多朋友搞不清"无服务器"与"功能即服务"架构之间的区别.其一,无服务器其实有点用词不当,其中当然存在服务器元素,只是大家不必亲自维护.您需要做的只是上传代码片段并由托管服务处理其余工作. 不过哪些应用程序适合这种部署方式?答案与您面对AWS或者Azure时基本相同; 这些系统的设计目标都是通过具体操作触发代码块.以下五种常见的无服务器框架可行方案相信值得您加以参考.   API 作为无服务器架构最简单也最直接的应用之一,我们可以通过服务或