Znajomy opublikował obraz, który animował bezpośrednio w kanale wiadomości na mojej stronie początkowej Facebooka. Jak to jest możliwe? Jak można to zrobić?
To jest adres URL używany przez Facebooka: http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716489814_5773694_3162803_s.jpg
W notatkach: http://www.facebook.com/note.php?note_id=289489697750142
W albumach: http://www.facebook.com/media/set/?set=a.125244550820831.21461.123901794288440&type=1
W aplikacjach: http://www.facebook.com/Animated.Pictures
Czy to właśnie obraz GIF został przemianowany na .jpg
? Prawdopodobnie nie.
Nie wiem, czy to pomaga, czy coś, ale oto część (skrypt), która zawiera ten adres URL obrazu:
<script>big_pipe.onPageletArrive({"phase":4,"id":"pagelet_photo_bar","css":["aes1F","FPnMi"],"js":["Py8xV","1k++i","9qrJd"],"onload":["PhotoTheater.init(HTML(\"\\u003cdiv id=\\\"fbPhotoTheater\\\" class=\\\"fbPhotoTheater hidden_elem narrowerWhiteBar\\\" tabindex=\\\"0\\\" role=\\\"region\\\" aria-label=\\\"Facebook-Diashow\\\" aria-busy=\\\"true\\\">\\u003cdiv class=\\\"container\\\">\\u003cdiv class=\\\"positioner\\\">\\u003ca class=\\\"uiTooltip closeTheater\\\" href=\\\"#\\\">\\u003ci class=\\\"closeImage img sp_6lzo0r sx_bbf9a4\\\">\\u003c\\\/i>\\u003cspan class=\\\"uiTooltipWrap middle left leftmiddle\\\">\\u003cspan class=\\\"uiTooltipText uiTooltipNoWrap\\\">Schlie\\u00dfen\\u003c\\\/span>\\u003c\\\/span>\\u003c\\\/a>\\u003c\\\/div>\\u003cdiv class=\\\"stageBackdrop\\\">\\u003c\\\/div>\\u003cdiv class=\\\"stageWrapper\\\">\\u003cdiv class=\\\"stage\\\">\\u003cimg src=\\\"\\\/images\\\/loaders\\\/indicator_black.gif\\\" class=\\\"spotlight\\\" \\\/> \\u003cdiv class=\\\"fbPhotosTheaterTags tagContainer\\\" id=\\\"fbPhotoTheaterTags\\\">\\u003cdiv class=\\\"tagsWrapper\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"videoStage\\\"> \\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterError\\\" class=\\\"fbPhotoTheaterError hidden_elem stageError\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"stageActions\\\" id=\\\"fbPhotoTheaterStageActions\\\">\\u003ca class=\\\"prev\\\" href=\\\"#\\\" title=\\\"Zur\\u00fcck\\\">\\u003c\\\/a>\\u003ca class=\\\"next\\\" href=\\\"#\\\" title=\\\"Weiter\\\">\\u003c\\\/a>\\u003cdiv class=\\\"fbPhotoTheaterButtons\\\" id=\\\"fbPhotoTheaterButtons\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"photoInfoWrapper\\\">\\u003ctable class=\\\"uiGrid fbPhotoTheaterGrid photoInfo\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\u003ctbody>\\u003ctr>\\u003ctd class=\\\"vTop detailsCell\\\">\\u003cdiv class=\\\"detailsContainer\\\">\\u003cdiv id=\\\"fbPhotoTheaterTitle\\\">\\u003c\\\/div>\\u003cspan id=\\\"fbPhotoTheaterContributors\\\">\\u003c\\\/span> \\u003cspan class=\\\"fsm fwn fcg\\\" id=\\\"fbPhotoTheaterCount\\\">\\u003c\\\/span>\\u003chr class=\\\"mvm\\\" \\\/>\\u003cdiv id=\\\"fbPhotosTheaterActions\\\" class=\\\"fbPhotosTheaterActions\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop commentsCell\\\">\\u003cdiv class=\\\"commentsContainer\\\">\\u003cdiv class=\\\"fbPhotosTaglist mbm tagpile\\\" id=\\\"fbPhotosTaglist\\\">\\u003cspan class=\\\"caption fsm fwn fcg\\\">Auf diesem Foto: \\u003c\\\/span>\\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterUfi\\\">\\u003cform rel=\\\"async\\\" class=\\\"commentable_item autoexpand_mode\\\" method=\\\"post\\\" action=\\\"\\\/ajax\\\/ufi\\\/modify.php\\\" onsubmit=\\\"return Event.__inlineSubmit(this,event)\\\">\\u003cinput type=\\\"hidden\\\" name=\\\"charset_test\\\" value=\\\"€,´,\\u20ac,\\u00b4,\\u6c34,\\u0414,\\u0404\\\" \\\/>\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"post_form_id\\\" value=\\\"10711e587b061f39240641dbc74019ac\\\" \\\/>\\u003cinput type=\\\"hidden\\\" name=\\\"fb_dtsg\\\" value=\\\"AQBfQgRs\\\" autocomplete=\\\"off\\\" \\\/>\\u003c\\\/form>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop adsCell\\\">\\u003cdiv class=\\\"adsContainer\\\">\\u003cdiv class=\\\"clearfix\\\">\\u003cdiv id=\\\"fbPhotoTheaterEgo\\\" class=\\\"fbPhotoTheaterEgo\\\">\\u003c\\\/div>\\u003cdiv class=\\\"fbPhotoTheaterEgoSponsored fss fwn fcg\\\">Gesponsert\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003c\\\/tr>\\u003c\\\/tbody>\\u003c\\\/table>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\"));"],"onafterload":["Bootloader.loadComponents([\"fb-photos-theater-css\"], function(){ });"],"content":{"pagelet_photo_bar":"\u003cdiv class=\"mbm fbProfilePhotoStrip\">\u003cul class=\"fbProfilePhotoBar\">\u003cli class=\"stat_elem\" id=\"thumb193067094054363\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&set=t.100000400858474&type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&set=t.100000400858474&type=1&src=http\u00253A\u00252F\u00252Fa1.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F179200_193067094054363_100000532222327_655777_5428850_n.jpg&theater\">\u003ci style=\"background-image: url(http:\/\/photos-a.ak.fbcdn.net\/hphotos-ak-snc6\/179200_193067094054363_100000532222327_655777_5428850_s.jpg); background-position: -33px -17px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb185312914825402\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&set=t.100000400858474&type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&set=t.100000400858474&type=1&src=http\u00253A\u00252F\u00252Fa8.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F165369_185312914825402_100000400858474_523262_6205304_n.jpg&theater\">\u003ci style=\"background-image: url(http:\/\/photos-h.ak.fbcdn.net\/hphotos-ak-snc6\/165369_185312914825402_100000400858474_523262_6205304_s.jpg); background-position: -22px -30px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb175015452521815\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&set=a.175015445855149.34462.100000400858474&type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&set=a.175015445855149.34462.100000400858474&type=1&src=http\u00253A\u00252F\u00252Fa6.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc4\u00252F156854_175015452521815_100000400858474_459703_1557976_n.jpg&theater\">\u003ci style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003c\/ul>\u003c\/div>"}});</script>
Ważna część powyższego wydaje się tutaj:
style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">
facebook
animations
bitbonk
źródło
źródło
Odpowiedzi:
Maja 2015 r
http://mashable.com/2015/05/29/facebook-gif-support/
Kwiecień 2012 - Current Exploit używa mobilnej aplikacji tekstowej do przekazywania obrazów
Jedyne, czego naprawdę potrzebujemy, to
animationurl
obraz hostowany na Facebooku.Są to sposoby, które wcześniej były możliwe
Pierwszym działającym sposobem wydaje się udostępnianie aktualnie dostępnego zestawu gifów na serwerach Facebooka poprzez oznaczanie w nim użytkowników. Nie widziałem żadnych nowych plików GIF oprócz tych, które obecnie krążą.
Drugi wykorzystuje nadużycie interfejsu API Facebooka za pośrednictwem aplikacji Facebook. Deweloper ukrył pliki GIF w podglądzie osadzania wideo.
Teraz, zakładając, że ktoś to wymyśli, zostaniesz zbanowany ... ponieważ oznacza to, że system przesyłania obrazów jest wadliwy, a niebezpieczny kod można wykonać, ukrywając się w pliku GIF lub obrazku. Wygląda na to, że Facebook Photo Team dopilnuje, aby GIF-y nie pozostały w pobliżu.
Nataniel Roman
A wcześniej na starej Wiki dla deweloperów Facebooka niektóre z nich mogły już się zmienić, ale sedno pozostaje takie samo
I w końcu, jak wspomniałem gdzie indziej
Ponadto, chociaż nie zostało to nigdzie zaznaczone w TOS,
Więc możesz dostać poklepanie z tyłu za testowanie na testowym koncie użytkownika, ale używając exploita (jeśli został znaleziony) na koncie osobistym. Jestem pewien, że w końcu zobaczysz zamknięcie konta.
PS Nie myśl, ponieważ podczas przeglądania stron pracownicy Facebooka nie widzą tych informacji. W momencie, gdy exploit jest znany publicznie, w tym samym czasie zostanie on zamknięty
źródło
Mimo że rozszerzenie to JPEG, nadal jest to plik gif
Aby odpowiedzieć na twoje pytanie, oto, co znalazłem :
źródło
Zbadałem i stwierdziłem, że obraz jest generowany przez aplikację http://apps.facebook.com/animated-picture/ Możesz generować takie pliki z pliku SWF (flash) w tej aplikacji jako animowany GIF i publikować na Facebooku!
źródło
Facebook obsługuje teraz przesyłanie plików animowanych gif w sposób natywny. Jeśli klikniesz przycisk przesyłania obrazu w polu aktualizacji statusu na stronie Newsfeed lub na osi czasu, a następnie wybierz animowany plik gif, który chcesz przesłać, zostanie on przesłany, a Facebook przekształci go w plik wideo .mp4, który można odtworzyć jak normalny plik wideo na Facebooku, w tym możliwość wstrzymywania w określonych klatkach, co nie jest opcją podczas oglądania normalnego animowanego pliku gif. Mimo że gif został faktycznie przekonwertowany na plik wideo po przesłaniu, będzie miał etykietę nakładki z napisem GIF.
Ponieważ jest to plik wideo, a Facebook automatycznie odtwarza pliki wideo w kanale aktualności (jeśli nie masz tego ustawienia Facebooka wyłączonego), powinien on zachowywać się jak animowany gif (ciągłe zapętlanie), ponieważ Facebook automatycznie zapętla filmy, które są krótsze niż 30 sekund długie.
źródło