我正在将s3dem-cors.php示例代码的工作副本转换为ASP.NET,我试图了解在哪些情况下需要CORS处理。例如,我看到PHP代码在尝试删除对象之前调用handleCorsRequest()。为什么运行PHP代码以删除S3上的对象的服务器需要任何CORS头?或者这些标头是否在脚本运行后由客户端使用?我可能对需要CORS头的时间和方式有些生疏,但据我所知,CORS头是用于客户端JavaScript的,因此它可以直接从浏览器处理S3,而不是服务器可以与S3对话。此外,对于delete对象特性,有哪些安全措施,以便对S3上删除对象的请求进行身份验证?也许我错过了在代码中删除请求是第一次授权的地方?是因为客户端只知道他们上传的对象的键值吗?什么是其他人下载的文件,并可以看到键值,他们可以提交一个请求删除对象吗?谢谢。
发布于 2013-11-26 20:22:54
如果您的签名服务器或删除文件处理程序服务器和上载器实例/页托管在同一来源,则无需担心CORS。如果处理删除文件请求和/或签名请求的端点与承载上载页面的端点的来源不同,则需要处理CORS。
如果您是在跨源环境中工作,则必须在服务器响应中适当地确认跨源请求。
就身份验证/安全性而言,这是您的责任。你的网络应用程序应该已经处理好了。
https://stackoverflow.com/questions/20226970
复制相似问题