我们发现内部 CDN 解决方案存在问题。
Auth 用户将照片或文档添加到他们的项目中。我们将文件上传到与网站应用程序不同的服务器上的本地驱动程序。
Example: mysite.com [ d:\websites\mysite.com\] running web-app
Example: cdn.mysite.com [ e:\cdn\mysite.com\assests\] storage area
如果 Auth 用户上传了一张图片……然后右键单击它,暴露的 URL 是:
http://cdn.mysite.com/assests/30b3bddc-fe1b-4fef-92c0-576bb6e5b487
/p/347e4ec6-3e36-4ac3-932a-a686d3cffd51/t/347e4ec6-3e36-4ac3-932a-a686d3cffd
51.jpg
我们为项目文件夹/用户文件夹/ImageName.jpg 使用 GUID
但是,如果您复制/粘贴此 URL 并将其发送给朋友(非身份验证用户),您可以访问图像/文件/等...
如果用户是 Auth,我们如何保护 CDN 仅提供文件?
Windows 2008 服务器 IIS 7 ASP.NET 4 C# Web 应用程序