【发布时间】:2014-02-20 15:50:07
【问题描述】:
我正在努力寻找使回形针网址安全的最佳方法,但仅限于安全页面。
例如,显示存储在 S3 中的图像的主页是 http://mydomain.com,而图像 url 是 http://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856。
我有像https://mydomain.com/users/my_stuff/49 这样的安全页面,它的图像存储在 S3 中,但 S3 协议是 http 而不是 https,所以用户会从浏览器收到警告,说页面上的某些元素不安全,等等等等废话。
我知道我可以在模型中指定 :s3_protocol,但这可以确保一切安全,即使在不必要时也是如此。因此,我正在寻找将协议即时更改为 https 的最佳方式,仅适用于安全页面。
一种(可能是不好的)方法是创建一个新的 url 方法,例如:
def custom_url(style = default_style, ssl = false)
ssl ? self.url(style).gsub('http', 'https') : self.url(style)
end
需要注意的一点是,我正在使用 ssl_requirement 插件,因此可能有一种方法可以将其与它联系起来。
我确信有一些简单、标准的方法可以做到这一点,但我似乎找不到它。
【问题讨论】:
-
嗨 Shagymoe...我很想知道您的最终解决方案是什么 :)
-
Paperclip github 问题在这里:github.com/thoughtbot/paperclip/issues/387
标签: ruby-on-rails https paperclip secure-scl