簡體   English   中英

安全加載Facebook個人資料圖片

[英]Loading Facebook profile picture securely

我正在嘗試將來自Facebook的用戶個人資料圖片包含在內,但工作正常,但事情就是當您想要將其包含在受SSL保護的頁面上時。 我找不到從安全位置加載圖片的方法。 使用以下鏈接到用戶個人資料pic:

https://graph.facebook.com/<FB_ID HERE>/picture?type=square

即使我使用https ,也不會安全加載(瀏覽器說頁面只是部分加密)。 這並不奇怪,因為鏈接只是重定向到圖像,例如我的個人資料圖片:

https://graph.facebook.com/Bazze/picture?type=square

這將得到以下圖片:

http://profile.ak.fbcdn.net/hprofile-ak-snc4/161513_633115680_6792455_q.jpg

請注意,這不是一個安全的位置。

任何人都知道如何通過https協議安全地加載個人資料圖片?

謝謝!

return_ssl_resources=1添加到Graph調用中:

https://graph.facebook.com/<FB_ID>/picture?type=square&return_ssl_resources=1

這是獲取SSL服務圖像的正確方法; 重定向將是具有適當SSL證書的https服務器。


更新 :當您使用https://graph.facebook.com時 ,Facebook現在會自動為您重定向到https托管的圖像,因此不再需要return_ssl_resources參數。

使用http://graph.facebook.com仍然可以獲得一個http托管的圖像。

那么, https ://graph.facebook.com/Bazze/picture? type = sq是302重定向到http :// ....但請注意https :// ...仍然有效( 示例 )。

所以看起來一個解決方案是自己解析302,在適當的位置插入's',然后獲取圖像。 但在缺點方面,上面的鏈接頁面有證書錯誤,並沒有一個很好的方法來解決這個問題。

(我不是說這是一個很好的答案......)

  1. 它是一個安全的位置,它不是一個安全的重定向
  2. 您所能做的就是確保在調用圖表api時使用安全請求,之后Facebook將接管通信,無法完成任何操作。

302重定向將具有Open Graph API文檔中所述的圖片URL。

您需要從:/ http profile.ak.fbcdn.net /更改為:/ https fbcdn-profile-a.akamaihd.net /

來自:/ http static.ak.fbcdn.net / to:/ https s-static.ak.fbcdn.net /

我真的認為FB應該在他們的API中做到這一點!!!!

您可以通過自己的服務器代理它。 設置一個腳本,從Facebook獲取圖像,然后通過SSL將其服務回給您。

例如

<?php
    $path=$_GET['path'];
    if (stristr($path, "fbcdn.")==FALSE && stristr($path, "facebook.")==FALSE)
    {
        echo "ERROR";
        exit;
    }
    header("Content-Description: Facebook Proxied File");
    header("Content-Type: image");
    header("Content-Disposition: attachment; filename=".$path);
    @readfile($path);
?>

取自

http://www.permadi.com/blog/2010/12/loading-facebook-profile-picture-into-flash-swf-using-open-graph-api/

通過https://yourdomainhere.com/proxy.php?path=URLENCODED-IMG-URI訪問應通過SSL返回userpic。

您還可以批量獲取安全配置​​文件圖片,在這種情況下,您必須添加return_ssl_resources = 1參數作為@ josh3736提到。

https://graph.facebook.com/?ids=id1,id2,id3,...&fields=picture&return_ssl_resources=1

使用***http***://graph.facebook.com/Bazze/picture?type=square而不是**https**://graph.facebook.com/Bazze/picture?type=square

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM