Yii2 Никогда не выходить из системы

Как сообщить Facebook, какой образ использовать, когда моя страница делится?

В Facebook есть набор метаданных с открытым графиком , на которые он может решить, какое изображение показывать.

Ключом для изображения Facebook являются:



, и он должен присутствовать внутри тега в верхней части страницы.

Если эти теги отсутствуют, он будет искать свой более старый метод указания изображения: . Если ни один из них не присутствует, Facebook будет просматривать содержимое вашей страницы и выбирать изображения со своей страницы, соответствующие критериям его общего изображения: Изображение должно быть не менее 200 пикселей на 200 пикселей, иметь максимальный формат изображения 3: 1 и в формате PNG, JPEG или GIF.

Могу ли я указать несколько изображений, чтобы пользователь мог выбрать изображение?

Да, вам просто нужно добавить несколько метатег изображений в том порядке, в котором вы хотите, чтобы они отображались. пользователь будет представлен диалоговым окном селектора изображений: Facebook Image Selector [/g5]

Я указал соответствующие метатеги изображений. Почему Facebook не принимает изменения?

После того, как URL был открыт, искатель Facebook, у которого есть пользовательский агент facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php), будет обращаться к вашей странице и кэшировать метаинформацию. Чтобы заставить Facebook-серверы очистить кеш, используйте Facebook Url Debugger / Linter Tool , который они запустили в июне 2010 года , чтобы обновить кеш и устранить любые проблемы с метатегами на вашей странице ,

Кроме того, изображения на странице должны быть общедоступны для искателя Facebook. Вы должны указать абсолютный url как http://example.com/yourimage.jpg вместо просто /yourimage.jpg.

Могу ли я обновить эти метатеги клиентским кодом, например Javascript или jQuery? Нет. Подобно поисковым роботам, скребок Facebook не выполняет сценарии, поэтому любые метатеги присутствуют при загрузке страницы - это метатеги, которые используются для выбора изображения.

Добавление этих тегов приводит к моей странице чтобы больше не проверять. Как это исправить?

Вы можете добавить необходимые теги имен Facebook в свой тег, и ваша страница должна пройти проверку:

  

0
задан Muhammad Omer Aslam 17 January 2019 в 09:35
поделиться

2 ответа

Сохранение сессии в течение такого долгого времени может быть плохой идеей - данные неактивных сеансов будут потреблять ресурсы вашего сервера и могут замедлять некоторые операции. В Yii есть специальная функция для таких случаев - вы можете установить $enableAutoLogin на true:

'user' => [
    'enableAutoLogin' => true,
    // ...
],

И на login() установить тайм-аут вызова для файла cookie идентификации:

[ 111]

Он установит специальный cookie-файл (действительный в течение года) с идентификационной информацией, который автоматически авторизует пользователя по истечении срока его сеанса. Таким образом, вам не нужно хранить данные сеанса на вашем сервере в течение года, но с точки зрения пользователя похоже, что он всегда входит в систему (даже если в фоновом режиме создается новый сеанс).

0
ответ дан rob006 17 January 2019 в 09:35
поделиться

Опции, которые вы использовали, должны работать без опций timeout и useCookies, я использовал его в своем последнем проекте, где сеанс должен длиться минимум неделю, откройте вкладку хранилища в панели разработчиков Mozilla и нажмите на куки Слева вы увидите раздел cookie-файлов с cookie-файлами, зарегистрированными для вашего сайта, в моем случае это http://www.kp2.local

enter image description here [ 1119]

, если вы используете 'lifetime' => 7 * 24 * 60 * 60,, он должен показывать cookie с датой истечения срока 1 неделю спустя , т.е. Wed, 23 Jan 2019, как показано ниже

enter image description here [1115 ]

, и если вы закомментируете код, а затем выйдете из системы и снова войдете в систему, она покажет вам время истечения на Session, например

enter image description here

Вам просто нужно использовать следующие настройки в конфигурации

'session' => [
    // this is the name of the session cookie used for login on the frontend
    'name' => 'advanced-frontend',
    'cookieParams' => [
        'httpOnly' => true,
        'lifetime' => 7 * 24 * 60 * 60
    ],
],

Если это все еще не работает, выйдите из системы, попробуйте удалить все куки один раз выбрав опцию Delete all, как на изображении ниже.

https://i.imgur.com/49GkznS.png?2

и это будет работать.

Примечание: вам следует изменить 7 в 'lifetime' => 7 * 24 * 60 * 60, на количество дней, в течение которых вы хотите сохранить сеанс

0
ответ дан Muhammad Omer Aslam 17 January 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: