安全加载Facebook个人资料图片

Baz*_*zze 7 security ssl https facebook image

我正在尝试将来自Facebook的用户个人资料图片包含在内,但工作正常,但事情就是当您想要将其包含在受SSL保护的页面上时.我找不到从安全位置加载图片的方法.使用以下链接到用户个人资料pic:

https://graph.facebook.com/<FB_ID HERE>/picture?type=square
Run Code Online (Sandbox Code Playgroud)

即使我使用https,也不会安全加载(浏览器说页面只是部分加密).这并不奇怪,因为链接只是重定向到图像,例如我的个人资料图片:

https://graph.facebook.com/Bazze/picture?type=square
Run Code Online (Sandbox Code Playgroud)

这将得到以下图片:

http://profile.ak.fbcdn.net/hprofile-ak-snc4/161513_633115680_6792455_q.jpg
Run Code Online (Sandbox Code Playgroud)

请注意,这不是一个安全的位置.

任何人都知道如何通过https协议安全地加载个人资料图片?

谢谢!

jos*_*736 9

添加return_ssl_resources=1到您的图表调用:

https://graph.facebook.com/<FB_ID>/picture?type=square&return_ssl_resources=1
Run Code Online (Sandbox Code Playgroud)

这是获取SSL服务图像的正确方法; 重定向将是具有适当SSL证书的https服务器.


更新:当您使用https://graph.facebook.com时,Facebook现在会自动为您重定向到https托管的图像,因此return_ssl_resources不再需要该参数.

使用http://graph.facebook.com仍然可以获得一个http托管的图像.

  • @Ashitaka:看起来Facebook最近改变了图形服务器以自动处理http/https.我已经更新了答案. (2认同)

ifa*_*our 2

  1. 这是一个安全位置,只是不是安全重定向
  2. 你所能做的就是确保在调用图 api 时使用安全请求,之后 Facebook 将接管通信并且无法执行任何操作。