1603еместо
uLogin - виджет авторизации через социальные сети « все идеи проекта

0

голосов

Перестало отдавать аватарки с fasebook

С недавнего времени модуль для Drupal перестал отдавать часть аватарок с фэйсбука.
Вот эти аватарки отдаются:
https://graph.facebook.com/549737355498012/picture
Они нормально открываются в браузере.

а вот по этим адресам уже аватарки не отдаются. https://graph.facebook.com/1070487095/picture
Причем сами аватарки там есть, но они не в браузере показываются, а скачиваются на диск. А значит неверно определяется MIME тип файла.
Если посмотреть ответ сервера с такого адреса https://yadi.sk/i/NVQ1rbjlvFYEIA
то видно что там стоит тэг X-Content-Type-Options: nosniff
Это ведь можно как-то разрулить?

Василий Миньков, 21.11.2018, 20:12
Статус идеи: ожидает рассмотрения

Комментарии

Василий Миньков, 21.11.2018, 20:38
Добавлю только что это произошло не вдруг, а после перевода сайта на http (через прямое прописывание в модуле ULOGIN
Вот в этой теме описано http://ulogin.reformal.ru/proj/ulogin?ia=1113520
Иван Пшеницын, 21.11.2018, 22:23
Не вижу никакой связи между адресом загрузки скрипта у вас на странице и контентом, который отдает facebook а аватарках. В любом случае, заголовки ответа fb никак не относятся к нашему сервису и мы, к сожалению, не видим путей повлиять на эту проблему.

Еще хотел бы добавить, что вы проигнорировали мой вопрос относительно того, какой модуль вы используете. Это важный вопрос, т. к. у нас четыре модуля для друпал и один из них даже разработан не нами и поддерживается сторонним разработчиком.
Василий Миньков, 21.11.2018, 22:57
Я у себя его взял из того что мне Ulogin выдал в поле [user:ulogin:photo]
Повторю что в фэйсбуке аватарка есть, а ulogin не может его получить из за того что неправильно определяет MIME тип jpg.
Модуль использую стороннего разработчика, который вы сами рекомендовали использовать как более отлаженный здесь http://ulogin.reformal.ru/proj/?ia=895913

Еще раз повторю что произошло все после перехода на https, а значит дело не в фэйсбуке, просто стал неправильно определятся тип.
Может есть какие-то мысли из за чего это произошло?
Иван Пшеницын, 21.11.2018, 23:04
Я правильно понимаю ситуацию: модуль раньше нормально скачивал все аватарки и сохранял их на вашем сайте, но недавно он часть аватарок стал скачивать криво, из-за чего на вашем сайте вместо аватар поломанные картинки?
А в каком виде модуль их сохраняет? Без расширения jpg? Эти файлы открывают просмотрщиком, если их скачать?

Определение типа скачиваемых файлов, очевидно, никак не связано с протоколом работы авторизации. Адреса же аватар на фейсбуке не изменились. В процессе "взяли ссылку - скачали - сохранили" никак не участвует ни протокол, по которому происходила авторизация, ни сайт ulogin вообще. А вот что гораздо более вероятно, смена версии php повлиять могла. Т.к. теперь каждый элемент этого процесса работает через php другой версии с участием модулей других версий (за определение mime-тайпа отвечает один модуль, за скачивание - другой).
Василий Миньков, 21.11.2018, 23:21
Модуль ничего не сохраняет (в логах появляется Невозможно создать заданное изображение в public://styles/thumbnail/public/pictures/picture-20359-1542812838.."
соответственно адрес без jpg и изображение на сайте вообще не сохраняется.
Сохраняет браузер если перейти по ссылкам от ulogin - может попробовать выше я дал ссылку до перехода на https и ссылку после перехода (а так же скрин ответа сервера).
Версию со сменой PHP проверил, вернув на PHP 5.3, но это не помогло, аватарки при регистрации нового юзера не появились.
Иван Пшеницын, 21.11.2018, 23:34
Выше вы дали ссылки на фейсбук. В этом случае возращаемся к моему предыдущему вопросу: каким образом, вы полагаете, мы связаны с тем, что отдает фейсбук со своего адреса?
К тому же, насколько я вижу, контент-тайп фейсбук отдает верный. Но добавляет заголовок content-desposition: attachment: http://bit.ly/2OWO4wk
Василий Миньков, 22.11.2018, 20:26
Я же дал две ссылки. Которая была до перехода на https и в которой верная ссылка на аватарку, и после перехода , когда ссылки на аватарку неверные. Вы же видите в чем там различие? И наверно можете сделать предположение почему все порушилось поскольку знаете механизм работы ulogin, Фэйсбук не поменялся, аватарки не исчезли, но ссылки стали неверными. Я пытаюсь понять причину и она явно не в фэйсбуке.
Иван Пшеницын, 22.11.2018, 21:05
А по-моему, явно в фейсбуке. При чем здесь https на вашем сайте, не понимаю. Я выже уже все подробно расписал.
Василий Миньков, 22.11.2018, 22:04
Не знаю при чем тут https. Может конечно совпало что именно в это время фэйсбук перестал выдавать правильные аватарки (но сомневаюсь). Вы же у себя наверно можете видеть какие аватарки ваш модуль отдает не на моем сайте. Это у всех так сейчас или нет?
Вопрос тут в другом что сделать чтобы получить верный адрес картинки, которая никуда не делать, просто перестал правильно определятся ее тип. Может принудительно задать что это именно jpg на должно быть в поле [user:ulogin:photo] ?
Иван Пшеницын, 22.11.2018, 22:14
Пожалуйста, прочитайте еще раз мои сообщения выше. Я подробно описал ситуацию и объяснил вам, подкрепив скриншотами, что дело не в типе картинки, с ним все нормально, а в заголовке фб "это файл для скачивания".

Нет, конечно же у нас нет никакой информации об аватарках, которые получает или не получает ваш сайт. К тому же через модуль, который разработан не нами. У нас нет даже его исходного кода.

Схема простая: во время авторизации фб отдает нашему сайту ulogin.ru ссылку на аватарку. Эта ссылка в неизменном виде передается на ваш сайт и плагин на вашем сайте пытается скачать оттуда изображение. Здесь никак не участвует протокол http|https, он играет роль ТОЛЬКО для загрузке скрипта ulogin.js на странице вашего сайта, а эта загрузка, разумеется, по времени абсолютно оторвана от скачивания аватар и авторизации и никак с ними не связана.

Кроме вас мы еще не получили ни одной жалобы на эту проблему. А если бы она встречалась повсеместно, нас бы уже завалили письмами.

Принимая во внимание тот факт, что протокол загрузки скрипта на странице никак не связан с получением аватары, я вижу вероятным только влияние смены версии php, которое вы, почему-то, игнорируете.
Василий Миньков, 23.11.2018, 18:31
Как я уже писал PHP откатывал, не помогло. Сейчас еще проверил раз- не зависит.
И от https не зависит (включал временно http- не помогло) в чем причина не знаю, обновлял Drupal с версии 7.60 до 7.61
Осталось попробовать откатить на то время когда работало и посмотреть. По результатам отпишусь.
Василий Миньков, 24.11.2018, 20:17
Откатил за день до всех изменений. Все заработало. Включил PHP 7.1 работает, включил https- работает.
Обновил друпал до 7.61- перестало. т.е дело в этом. Посмотрел список изменений версии 7.61- там есть несколько касающиеся изображений.
Можно конечно вернуть 7.60, но это не выход - рано или поздно обновлять все равно придется.
Что можно поправить в модуле чтобы картинка с фэйсбука не скачивалась а отдавалась ссылкой?
Василий Миньков, 25.11.2018, 10:46
но самое интересное в другом- ответ сервера не изменился. Все так же стоит content-desposition: attachment, но тем не менее аватарка видна.
вот пример ( https://graph.facebook.com/986892121480422/picture?type=square)
Теперь я окончательно запутался. Если ссылки те же ответы фэйсбука те же, значит с обновленным друпалом просто нарушается логика обработки ответа.

Оставить комментарий