我在一个为每个特定用户生成动态图像的网站上工作。有时这些图像包含非常敏感数据的描述。最近,我们开始看到对属于不同用户的图像的请求,其形式为
http://myapp/images/someuid/image1.jpg http://myapp/images/someuid/image1.jpg
显然,有人发现如果他们创建了正确的 URL,他们就可以访问其他用户的图像。我们将图像存储到文件系统中以帮助减少带宽。
使用 .ashx:-
TimeSpan maxAge = new TimeSpan(0, 15, 0); //!5 minute lifetiem.
context.Response.ContentType = "image/gif";
context.Response.Cache.SetCacheability(HttpCacheability.Private);
context.Response.Cache.SetExpires(DateTime.UtcNow.Add(maxAge));
context.Response.Cache.SetMaxAge(maxAge);
context.Response.Cache.SetLastModified(lastModified); // last modified date time of file
context.Response.WriteFile(filenameofGif);
您可以包含所需的任何代码检查,以确保正确的用户正在访问图像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)