确定访客是否通过CloudFlare Pro上的SSL连接

jdu*_*tor 11 php cloudflare

我们在CloudFlare Pro上运行一个站点,该站点使用他们提供的证书进行一键加密.我们的网站为用户提供"可选"SSL.由于它是一个论坛,我们目前运行一个代理脚本,用于检测发布的图像是否未使用HTTPS协议,并通过我们服务器上运行的脚本自动代理图像,以保持安全性和我们可爱的绿色锁定!

我现在唯一的问题是,当用户不使用HTTPS时,这会在我们的服务器上引入不必要的负载,因此我们希望能够检测它们是否存在.但是,由于CloudFlare服务器实际上是连接到我们的,无论通过HTTP(因为我们在CloudFlare上使用一键式SSL),我们的PHP脚本始终报告HTTP并且即使用户使用HTTPS也不会代理图像.有没有办法让CloudFlare报告用户正在使用SSL?

jdu*_*tor 22

找到我的答案,他们发送标题X-FORWARDED-PROTO.它https适用于SSL和http正常!

  • 在CF连接中信任该头似乎不是一个好主意,根据常见问题CF不会丢弃请求中发送的原始头,这可能是一个安全漏洞,你应该检查Cf-Visitor头.该标头包含一个指示方案的JSON对象 (3认同)