Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.08.2013, 00:19
Новичок на форуме
Отправить личное сообщение для glebbrain Посмотреть профиль Найти все сообщения от glebbrain
 
Регистрация: 28.08.2013
Сообщений: 3

Удаление 25 летних cookies от Яндекс Почты
Здравствуйте, Гуру! Мне нужна ваша помощь

Постов в инете пишу мало, в основном все нахожу, но в этот раз ответа нет

Текущие положение дел:
Я делаю сайт для заказчика, в нем есть личный кабинет(ЛК), пользователи через него заходят в Яндекс почту.
Во время перехода производится автоматическая авторизация пользователя через API Яндекса. Страница почты открывается в новом окне. К домену .yandex.ru привязывается долго живущие cookie (время жизни: 25 лет), если не закрывать браузер и не выходить из почты, куки остаются и имеют след. имена: L, my, sessionid2, yandexuid, yp

Зачем нужно чтобы пользователь выходил с почты?(Уничтожение куков)
- Все документы и др. полезная инфа идет через корпоративную почту,
сайт является контролирующим ядром для сотрудников компании, поэтому обязательно все сотрудники должны пользоваться ЛК, т.е. заходить в почту через ЛК! А при существующим раскладе ЛК им нужен для единовременного входа в почту, это не правильно

Что нашел по данной теме:
- В документации к Яндекс API нет способа убивания сессии, но в самой почте есть ссылка:
http://passport.yandex.ru/passport?m...85700&global=1
mode=logout - выход с почты
yu - yandexuid, сохраненный в куках
global=1 - убивание сессии на всех устройствах

Если скопировать ссылку и вставить в адресную строку, то с почты выходит! Но для этого мне нужно получить yandexuid, вот на этом месте я и встал...

- Я выгрузил куки со страницы ЛК, там куков от яндекса нет
- Попытался убить долгоживущий токен, нарыл в документации к кукам,
что можно прописывать путь и домен при создании нового кука:
document.cookie = "name=L;domain=.yandex.ru;path=/;expires=Date.now()+1";

... не вышло, может не так понял документацию
- Прошелся по API яндекса еще раз, yandexuid формируется каждый раз при
регистрации(и живет сутки) или смене пола у пользователя
Каждый раз менять пол не могу это палево)))))

- Есть мысль: создать страницу с фреймом, во фрейм поместить почту, на саму страницу в head
повесить скрипт, отсчитывающий 2 часа, после чего обнуляет токены. Только у меня сомнения
не нарушит ли это работу почты до обнуления?

- Есть еще одна мысль: с помощью автокликера заходить на почты всех зареганых пользователей
и нажимать "Выход со всех устройств". Минус только один: нужен постоянно включенный комп.

- Ну и крайний случай: связаться с разработчиками Яндекс указать им проблему... может помогут... Но на рассмотрение может уйти много времени, а этот функционал должен работать к концу недели. (Знаю, виноват, дотянул до конца, думал что смогу решить...)

Пожалуйста, подскажите направление к правильному решению, если кто капался в этом)))

PS
Решение должно работать во всех браузерах начиная с IE 6.
Почты зареганых пользователей находятся на под домене Яндекс.
Сами пользователи выходить с почты не собираются и могут в ней работать еще 25 лет
Более подробно описать вид деятельности компании и уже написанный код не могу.
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2013, 13:14
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Не совсем понял, зачем делать разлогин для яндексовой почты..

Несомненно здесь только одно: с сайта ЛК невозможно разлогинить яндекс.
Попробуй им написать (теоретически можно сделать урл в passport.yandex, который проверял бы реферер на совпадение с твоим, хотя я не в курсе, можно ли подделать реферер). Но далеко не факт, что это сделают, тем более в недалеком будущем.
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2013, 13:33
Аватар для rekzi
Аспирант
Отправить личное сообщение для rekzi Посмотреть профиль Найти все сообщения от rekzi
 
Регистрация: 28.08.2013
Сообщений: 78

Это невозможно. Просто напросто нет такой функциональности и навряд ли будет. С такой возможностью можно было бы легко блокировать доступ к ресурсу yandex.ru.
Ответить с цитированием
  #4 (permalink)  
Старый 29.08.2013, 14:46
Новичок на форуме
Отправить личное сообщение для glebbrain Посмотреть профиль Найти все сообщения от glebbrain
 
Регистрация: 28.08.2013
Сообщений: 3

Сообщение от Яростный Меч Посмотреть сообщение
Не совсем понял, зачем делать разлогин для яндексовой почты..
Для поднятия посещаемости сайта, и в ЛК большой функционал, но сотрудникам это ненужно, а нужно администрации для контроля сотрудников.

Сообщение от Яростный Меч Посмотреть сообщение
Несомненно здесь только одно: с сайта ЛК невозможно разлогинить яндекс.
Попробуй им написать (теоретически можно сделать урл в passport.yandex, который проверял бы реферер на совпадение с твоим, хотя я не в курсе, можно ли подделать реферер). Но далеко не факт, что это сделают, тем более в недалеком будущем.
Спасибо, тоже пришел к решению отписаться на Яндекс. Попросил их сделать 2х часовой токен. Говорят будет ответ в течении 3х дней. Сейчас в API только 2 токена: 30 секундный и 25 летний
Ответить с цитированием
  #5 (permalink)  
Старый 29.08.2013, 16:02
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

а подсовывать юзерам ссылку на passport.yandex.ru/auth/logout (взято с потолка) не вариант?
Ответить с цитированием
  #6 (permalink)  
Старый 29.08.2013, 16:07
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от keen
взято с потолка
оно и видно ))

автор привел ссылку на разлогин, там должно быть правильное значение yandexuid, в чем и состоит загвоздка.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2013, 17:35
Новичок на форуме
Отправить личное сообщение для glebbrain Посмотреть профиль Найти все сообщения от glebbrain
 
Регистрация: 28.08.2013
Сообщений: 3

Яндекс все еще молчит, но я нашел обходной путь: смена пароля на рандомный всем зареганным пользователям с использованием ссылки: https://pddimp.yandex.ru/edit_user.x...gin=&password=
Поместил ссылку в foreach по всем пользователям и кинул на файл cron задачу, теперь все пользователи вылетают с почты ровно в 24:00 ежедневно.
Конечно менять пароль не очень хорошо, да и пользователям он не особо нужен , т.к. они входят в почту через ЛК...
Все еще жду оптимального решения от разработчиков Яндекс
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск