WEB开发网
开发学院服务器云计算 Perl 和 Amazon 云,第 2 部分:通过 HTML 表单将... 阅读

Perl 和 Amazon 云,第 2 部分:通过 HTML 表单将数据安全地上传到 S3

 2010-02-04 00:00:00 来源:WEB开发网   
核心提示: S3 开发人员文档对所有内容进行了很好的解释,bucket 必须被命名,Perl 和 Amazon 云,第 2 部分:通过 HTML 表单将数据安全地上传到 S3(3),bucket 的 ACL 必须匹配,密匙可以以任何内容开头,但是它的中心思想是使脚本完整简单,它非常简单,成功后您将得到一个特

S3 开发人员文档对所有内容进行了很好的解释。bucket 必须被命名,bucket 的 ACL 必须匹配,密匙可以以任何内容开头,成功后您将得到一个特殊的 URL。上传文档的大小被限制为 0 字节到 1 兆字节。注意过期日期(下面将详细介绍)。

策略的内容将被签名,并且是公共的,因此恶意用户很难伪造策略内容。这个属性可以确保站点的策略安全性 — 它确保根据特定的条件允许上传到 S3,在其他情况下则不允许上传。记住,您要为 S3 的使用付费,因此这非常重要。

过期日期被设置为 3000 年(是的,3000 年)。这样做的目的是使这个策略在所有实际使用中都不会过期。相反,您在以后可以将过期日期设置为 10 分钟,这样可以确保已删除的用户在超过最近一次合法访问的 10 分钟之后就不能再使用策略。但是这样设置的话,那些需要更长的时间上传文件的用户将被拒绝,他们将对此产生抱怨。因此,思考一下如何设置一个合适的过期日期,而不要随意设置它。

策略必须 为表单中指定的所有字段设置条件。这将防止出现伪造并鼓励实现完整的策略文档。

我们已经确立了一个策略,现在让我们设置上传表单。

S3 上传表单

回忆一下,我们曾讨论过与 S3 对象相关联的 Content-Type 元数据,以及如何在上传对象前设置它。不幸的是,这不适合用于图像上传,因为无法提前获知用户要上传的内容。例如,JPEG 图像和 PNG 图像就使用不同的内容类型(它们实际上称为 MIME 类型,并且几乎有几百种常见类型)。

解决方法就是使用一些中等级别的 JavaScript 代码。由于您将所有内容都放入了 Perl 脚本,因此必须转义所有 \ 和 $ 字符(因此产生稍微有些混乱的内容)。查看实际 JavaScript 生成的 HTML;您将在本系列的后续文章中使用 Template Toolkit 完成该工作,但是它的中心思想是使脚本完整简单。它非常简单,但很可惜的是可读性受到一些影响。

上一页  1 2 3 4 5  下一页

Tags:Perl Amazon 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接