仅适用于安全页面的安全回形针 URL

2024-05-10

我正在尝试找到使回形针网址安全的最佳方法,但仅限于安全页面。

例如,显示存储在 S3 中的图像的主页是http://mydomain.com http://mydomain.com图像网址是http://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856 http://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856.

我有安全页面,例如https://mydomain.com/users/my_stuff/49 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 插件,因此可能有一种方法可以将其与此结合起来。

我确信有一些我忽略的简单、标准的方法可以做到这一点,但我似乎找不到它。


如果有人现在偶然发现这一点:有一个回形针中的解决方案 https://github.com/thoughtbot/paperclip/pull/849 since 2012年4月 https://github.com/thoughtbot/paperclip/issues/387!简单地写:

Paperclip::Attachment.default_options[:s3_protocol] = ""

在初始化程序中或使用s3_protocol模型内的选项。

感谢@Thomas Watson 发起此活动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅适用于安全页面的安全回形针 URL 的相关文章

随机推荐