Проблемы с Uloginом

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Не корректно работает

#31 25 сентября 2012 в 08:46
И все же, какой алгоритм проверки должен быть, что бы один и тот же пользователь мог зайти в свой профиль с разных социалок.
Что проверять, email, openid, или еще какие то данные в базу добавлять?

Допустим если есть email в базе авторизуем, без добавления данных, если нету создаем нового пользователя, но в случае входа с соц сети в которой указан другой email будет создан новый пользователь.
Предположим я рядовой пользователь, сначала я захожу с контакта, вижу свою страничку, радуюсь, в другой раз захожу с майла, а тут раз и у меня совершенно другой профиль, и я в шоке… а в результате на сайте будет много пользователей с одинаковыми лицами.

PS-- Прошу прощение за лирическое отступление…
#32 25 сентября 2012 в 09:02

Допустим если есть email в базе авторизуем, без добавления данных


Просто авторизуем? — не вариант, так можно запросто зайти под чужим аккаунтом, достаточно будет указать такой же email. Тут тогда надо как yury предлагал — запрашивать пароль и склеивать.
#33 25 сентября 2012 в 09:04


Допустим если есть email в базе авторизуем, без добавления данных


Просто авторизуем? — не вариант, так можно запросто зайти под чужим аккаунтом, достаточно будет указать такой же email. Тут тогда надо как yury предлагал — запрашивать пароль и склеивать.

SJen

Та же самая стандартная авторизация получается? может openid или у кого в базе ulogin_id сравнивать?
#34 25 сентября 2012 в 09:05
Кто не будь в курсе что выполняет скрипт который прикреплять нужно?
#35 25 сентября 2012 в 09:07


а у твиттер же https://twitter.com/ а в БД пишет просто http

да и склейка не происходит с существующим профилем

yury
А сайт ulogin.ru точно данные твиттера передает верно?
#36 25 сентября 2012 в 09:24

Та же самая стандартная авторизация получается? может openid или у кого в базе ulogin_id сравнивать?

Win_wiruzz
да не надо ничего сравнивать. надо написать, что ваше мыло уже зарегано за таким то логином и запросить пароль от него для склейки. Если пароль подходит, то делаем склейку.
#37 25 сентября 2012 в 11:11
Сделал по принципу один E-mail один профиль, топорно но на локалке работает.
тут изменил
  1. private function getUserByIdentity($identity,$email)
  2. {
  3.  
  4. $inDB = cmsDatabase::getInstance();
  5.  
  6. $us = $inDB->get_field('cms_users', "openid='{$identity}'", 'id');// тут как было только значение передал переменной
  7. if ($us) {// если нашелся id возврящаем его и авторизуем
  8. return $us;
  9. } else {$us = $inDB->get_field('cms_users', "email='{$email}'", 'id');// если нет то проверяем есть ли такой e-mail в базе и сравниваем его с тем чтонам передал ulogin.ru, совпали авторизуем нет создаем нового пользователя
  10. return $us;
  11. }
  12.  
  13. }
Конечно может не совсем то что хотелось ...
Кто хочет по пробовать файл для обновления залил
Прикрепленный файл
plugin_3hmlh.zip 5 Кб
#38 25 сентября 2012 в 13:59
Win_wiruzz, а если я при заходе через вконтакте введу email администратора, то я получается авторизуюсь под администратором?
#39 25 сентября 2012 в 14:16


Win_wiruzz, а если я при заходе через вконтакте введу email администратора, то я получается авторизуюсь под администратором?

SJen

Куда вводить то будишь? стандартная авторизация не затронута, а емайл скрипт получает вроде так
  1. $ulogin_token_url = 'http://ulogin.ru/token.php';
  2. $ulogin_token_url .= '?token=' . $token . '&host=' . $_SERVER['HTTP_HOST'];
  3.  
  4. // получение профиля
  5. $json_string = file_get_contents($ulogin_token_url);
  6. $profile = json_decode($json_string, true);

А когда в первый раз через социалку входишь то сначала в ней авторизуешься, потом скрипт берет данные и рагит или авторизует или я заблуждаюсь?
#40 25 сентября 2012 в 14:27
А давайте про тестим!!! залью куда нить instant поставлю юлогин и попробуем войти на сайт как админ.
#41 25 сентября 2012 в 14:33
Win_wiruzz, да просто подумайте, что сделает ваш скрипт если я хочу войти на сайт через юлогин, через вконтакте
зовут меня "Вася Пупкин", а email я ввожу такой, что он совпадает с мылом администратора сайта — что произойдет? — новый профиль не создастся?
#42 25 сентября 2012 в 16:41


Win_wiruzz, да просто подумайте, что сделает ваш скрипт если я хочу войти на сайт через юлогин, через вконтакте
зовут меня "Вася Пупкин", а email я ввожу такой, что он совпадает с мылом администратора сайта — что произойдет? — новый профиль не создастся?

SJen

Что бы плагин запросил у пользователя мыло оно должно отсутствовать в соцеалке. Контакт и одноклассники это допускают, но подобное бывает крайне редко, значит перед тем как создать профиль проверим есть ли мыло в базе, если есть то сообщаем пользователю что мыло уже используется и просим ввести другое мыло. Логично?
#43 25 сентября 2012 в 17:06

и просим ввести другое мыло. Логично?


Нет, не логично. У юзера одно мыло, больше нет. Нечего ему больше вводить… Если мы ему предложим ввести другое мыло — он просто уйдет, не будет же он специально еще одно регистрировать — проще закрыть сайт и поискать другой, более лояльный к посетителям.
#44 25 сентября 2012 в 17:15
а вообще реально совпадение мыла. На сколько я знаю адреса уникальны и случайное совпадение не возможно. Ладно выложу на тестовом сайте наработку там посмотрим что реально а что нет.
#45 25 сентября 2012 в 17:20
Win_wiruzz, да дело не в уникальности..

Поймите, все просто — я всего лишь хочу взломать ваш сайт через ulogin, а вы мне для этого даете все возможности. Мне надо лишь знать электронку админа, что узнать попроше, чем его пароль и я уже смогу авторизоваться на сайте с админскими правами.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.