Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > WWW Masters. Прочее > Был ли пользователь на сайте?


Автор: Jin X 16.03.15, 17:44
Нужно определить: был ли пользователь на сайте ранее и когда?
Можно забить эту инфу в куки, но их легко удалить.
Можно записать данные в "хранилище" браузера, их тоже легко удалить, да и вообще открыть сайт с другого браузера.
Можно привязаться к IP, но это тоже легко обходится. Зашёл с другого компа или сделал reconnect и no problem.
Какие варианты есть ещё?
Может, идентифицировать человека через ВКонтакте, Facebook, Mail.Ru, учётную запись Яндекс, Google (или что-то ещё)? И как это сделать?
p.s. "Когда" он был - можно записать через PHP в БД сайта, но сначала надо понять - он ли это?

Автор: Serafim 17.03.15, 08:12
Для начала стоит определить:
1) Нужно ли оно вообще, если обычных кук не достаточно
2) Если же всё же нужно, то использовать социалочки в качестве идентификтора - самый надёжный способ. При этом профили из разных социалочек (одного человека) можно вполне связывать по email.

Автор: K313 17.03.15, 17:44
Цитата Jin X @
, но их легко удалить.
Цитата Jin X @
, их тоже легко удалить, да и вообще открыть сайт с другого браузера.
Цитата Jin X @
, но это тоже легко обходится. Зашёл с другого компа или сделал reconnect и no problem.
Цитата Jin X @
Может, идентифицировать человека через ВКонтакте, Facebook, Mail.Ru, учётную запись Яндекс, Google (или что-то ещё)?
А что, нельзя создать новый аккаунт, чтоб обойти Вашу "защиту"?

Поэтому думаю ответ один,
Цитата Serafim @
1) Нужно ли оно вообще, если обычных кук не достаточно
и если то что Вы пытаетесь защитить - не военная тайна

Автор: Serafim 17.03.15, 18:54
Цитата K313 @
А что, нельзя создать новый аккаунт, чтоб обойти Вашу "защиту"?

ну для этого нужно новую симку покупать, а кому оно надо? :-?

Автор: Jin X 17.03.15, 19:50
Цитата K313 @
А что, нельзя создать новый аккаунт, чтоб обойти Вашу "защиту"?
Можно, конечно. Ломается всё (на край, всегда можно зайти от друга), но моя задача - максимально усложнить этот процесс. Если человек сменит IP, зайдёт из другого браузера и увидит, что его спалили, он, мягко говоря, удивится (я бы удивился). А потом зайдёт с другого компа и опять поймёт, что его спалили, не факт, что ему придёт в голову, что привязка идёт к соц.сетям.

Цитата Serafim @
использовать социалочки в качестве идентификтора - самый надёжный способ
Вопрос: как идентифицировать юзера из соцсетей? Узнать его e-mail/логин/просто имя.

Добавлено
И второй вопрос: можно ли привязаться к компу? Т.е. чтобы чел на одном компе не мог сменой браузера (например, на абсолютно чистый) не мог скрыться от глаз моих? :)
Ну типа серийного номера винта/BIOS/ОС/etc...

Автор: Serafim 17.03.15, 20:45
Цитата Jin X @
Вопрос: как идентифицировать юзера из соцсетей? Узнать его e-mail/логин/просто имя.

https://vk.com/dev/sites =) Например

Добавлено
Я бы мог потрудиться перепечатать как конкретно это делается - но сам понимаешь, там слишком много чего есть, долго. Так что если кратко - у любой социалочки есть OAuth апишечка, описанная на страницах документации.

Добавлено
Цитата Jin X @
И второй вопрос: можно ли привязаться к компу?

нет. Максимум что можно делать - проверять наличие шрифтов в ОС, наличие плагинов (Java, Unity, Flash, PDS, etc), версия браузера и прочее, сравнивать и делать выводы он же (тот ли пользователь) или нет, т.е. получить только ту информацию, которая требуется в данной сфере.

Добавлено
хотя можно в теории делать запрос на айпишник и получать MAC адрес карточки, но сам понимаешь - это не вариант

Добавлено
А ещё есть параметр DNT, который говорит о том, что пользователь категорически не хочет, чтоб его отслеживали ;)
http://en.wikipedia.org/wiki/Do_Not_Track

Автор: Jin X 17.03.15, 22:17
Цитата Serafim @
хотя можно в теории делать запрос на айпишник и получать MAC адрес карточки, но сам понимаешь - это не вариант
Почему не вариант? По-моему, самое то...

Добавлено
Цитата Serafim @
А ещё есть параметр DNT, который говорит о том, что пользователь категорически не хочет, чтоб его отслеживали
И что будет, если я положу на этот параметр? :)

Автор: Serafim 18.03.15, 02:53
Цитата Jin X @
Почему не вариант? По-моему, самое то...

ты хочешь сказать у всех статический внешний айпи, чтоб туда стучаться? :huh:

Добавлено
Цитата Jin X @
И что будет, если я положу на этот параметр?

тебя замучает совесть, как иначе-то ;)

Автор: Jin X 18.03.15, 08:33
Цитата Serafim @
ты хочешь сказать у всех статический внешний айпи, чтоб туда стучаться?
А, я-то думал, что можно получить MAC-адрес актуальной карты.

Автор: zera 18.03.15, 08:46
Цитата Serafim @
хотя можно в теории делать запрос на айпишник и получать MAC адрес карточки, но сам понимаешь - это не вариант

а в теории это как?

Автор: Serafim 18.03.15, 08:48
Цитата zera @
а в теории это как?

это значит, что по интернетам могут бродить такие советы, но на практике они не воспроизводятся (точнее работает, но очень редко)

Автор: zera 18.03.15, 09:21
Цитата Serafim @
это значит, что по интернетам могут бродить такие советы, но на практике они не воспроизводятся (точнее работает, но очень редко)
какая-то совсем эфемерная теория-то

Автор: Serafim 18.03.15, 09:59
Цитата zera @
какая-то совсем эфемерная теория-то

обоснования? :huh:

Автор: orb 18.03.15, 13:37
Цитата Jin X @
Может, идентифицировать человека через ВКонтакте, Facebook, Mail.Ru, учётную запись Яндекс, Google (или что-то ещё)? И как это сделать?

без согласия - никак.
Любая соц сеть, прежде чем дать инфу о юзере, должна получить добро от пользователя. Это тоже самое что и юзер зарегается и тогда отличать его по личному аккаунту.
Цитата Jin X @
можно получить MAC-адрес актуальной карты.

Цитата Jin X @
зайдёт с другого компа и опять поймёт, что его спалили

и теория разбивается. А еще момент что с одного компа могут несколько человек сидеть, например, интернет кафе, рабочие компы. Ну и собственно у одного юзера может быть сразу куча компов: домашний, рабочий, ноут, планшет, телефон, ...

Добавлено
В целом можно применить кучу танцев с бубном, но это будет только для обычных юзеров, а "хитрые" юзера все равно найдут как избежать.
Jin X, самый хороший вариант - сделать обязательную регистрацию и либо усложнить процесс регистрации (хабр) либо поднять ценность профиля.

Автор: Serafim 18.03.15, 14:18
Цитата orb @
и теория разбивается. А еще момент что с одного компа могут несколько человек сидеть, например, интернет кафе, рабочие компы. Ну и собственно у одного юзера может быть сразу куча компов: домашний, рабочий, ноут, планшет, телефон,

Во, об этом кстати как-то забылось. Очень уместное замечание.

Имхо - всё же социалочки лучший вариант для каких-либо фаст регистраций на непродолжительное время.

Автор: Jin X 19.03.15, 00:04
Цитата orb @
Любая соц сеть, прежде чем дать инфу о юзере, должна получить добро от пользователя. Это тоже самое что и юзер зарегается и тогда отличать его по личному аккаунту.
Ну как сказать? Если я могу добавить на сайт виджет, на котором отображается моё имя (или какая-то моя информация), значит я могу и выцепить id, разве нет? К тому же, я точно знаю, что есть специальные скрипты, которые могут это делать. Платные (для ВК).

Цитата orb @
Jin X, самый хороший вариант - сделать обязательную регистрацию и либо усложнить процесс регистрации (хабр) либо поднять ценность профиля.
Регистрация вообще не канает.

Цитата Serafim @
Во, об этом кстати как-то забылось. Очень уместное замечание.
Это всё понятно, я ж говорю:
Цитата Jin X @
моя задача - максимально усложнить этот процесс.

А вообще, смысл в том, чтобы давать челу пряник, если он зашёл на сайт первый раз и выполнит нужное мне действие сегодня (или сегодня-завтра).

Автор: Serafim 19.03.15, 00:21
Цитата Jin X @
А вообще, смысл в том, чтобы давать челу пряник, если он зашёл на сайт первый раз и выполнит нужное мне действие сегодня (или сегодня-завтра).

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

Добавлено
Цитата Jin X @
значит я могу и выцепить id, разве нет?

Нет, в том-то и дело. :D

Добавлено
Цитата Jin X @
К тому же, я точно знаю, что есть специальные скрипты, которые могут это делать. Платные (для ВК).

если и есть - вк довольно оперативно латает подобные дыры, так что есть максимум месяц использования свежей дырочки.

Добавлено
Цитата Serafim @
Нет, в том-то и дело.

Хотя вру, в теории может прокатить, в браузерах есть запрет только открытия в айфрейме, про доступ к JS ничего не знаю. Но это не мешает разрабам ВК выполнять весь код в замыкании и скрывать выхлоп.

Добавлено
а вообще - обычно за подобные действия, которые ты пытаешься провернуть - посылают куда подальше (они как минимум не в рамках правил этого ресурса) ;)

так что я удаляюсь, оставляю всё на совесть модераторов раздела.

Добавлено

Автор: fatalist 20.03.15, 20:38
Цитата Serafim @
2) Если же всё же нужно, то использовать социалочки в качестве идентификтора - самый надёжный способ. При этом профили из разных социалочек (одного человека) можно вполне связывать по email.

Ага, осталось это мыло выгрызть у социалочек :)

Автор: Serafim 20.03.15, 20:40
Цитата fatalist @
Ага, осталось это мыло выгрызть у социалочек

и что в этом такого сложного? :huh:
Просто нужно добавить email в скоуп прав: https://github.com/Developers-RuDev/OAuth-S...h-4-laravel.php

Автор: orb 21.03.15, 08:30
Цитата Jin X @
Если я могу добавить на сайт виджет, на котором отображается моё имя (или какая-то моя информация), значит я могу и выцепить id, разве нет?

это грязные методы

Автор: Jin X 21.03.15, 22:14
Это в зависимости от того, как его использовать. Если рассылать по нему спам или продавать кому-то, то да. А если просто для идентификации - был-не был, то что тут грязного-то?

Добавлено
Цитата Serafim @
Просто нужно добавить email в скоуп прав
А по-русски?

Автор: Serafim 22.03.15, 03:43
Цитата Jin X @
А по-русски?

просто надо добавить ключик емемила в группу прав при получении доступа к профилю

Автор: Jin X 22.03.15, 10:16
Ну, так а чтоб получить доступ к профилю, пользователь должен его подтвердить?

Автор: Serafim 22.03.15, 13:48
Цитата Jin X @
Ну, так а чтоб получить доступ к профилю, пользователь должен его подтвердить?

Естественно

Автор: orb 22.03.15, 14:10
Цитата Jin X @
А если просто для идентификации - был-не был, то что тут грязного-то?

Цитата Serafim @
вк довольно оперативно латает подобные дыры, так что есть максимум месяц использования свежей дырочки.

Какой смысл делать основу своей безопасности на чужих дырах? :blink:

Автор: Serafim 22.03.15, 14:13
Цитата orb @
Какой смысл делать основу своей безопасности на чужих дырах?

три раза перечитал, но так и не понял что ты спрашиваешь

Автор: orb 22.03.15, 14:17
Цитата Serafim @
но так и не понял что ты спрашиваешь

Цитата Jin X @
что тут грязного-то?

;)

Автор: Serafim 22.03.15, 15:57
ааа, ну так это и зайчикам понятно, что Jin X пытается сделать то, что не будет работать в большинстве случаев, а если и будет, то придётся переделывать каждый месяц, заодно нарушив пару правил, как ресурсов, так и законодательства, начиная с п.276 уголовного кодекса (шпионаж), заканчивая специфичными для области (ака похищение персональных данных без ведома пользователя и аналогичных) :lol:

Автор: orb 22.03.15, 19:16
Цитата Serafim @
что не будет работать в большинстве случаев, а если и будет, то придётся переделывать каждый месяц

Вопрос в другом на этом базируется вся система аутентификации и поиск людей. Для отслеживания вопроса отпадания дырок нужно 2 тестера. которые круглосуточно пытаются "войти не под собой"

Автор: fatalist 23.03.15, 03:39
Цитата Serafim @
и что в этом такого сложного?
Просто нужно добавить email в скоуп прав: https://github.com/Developers-RuDev/OAuth-S...h-4-laravel.php
На практике оказывается чуть сложнее чем в документации...

Автор: Serafim 23.03.15, 11:14
Цитата fatalist @
На практике оказывается чуть сложнее чем в документации...

хм. Ну хз, мне это было не сложно написать :-?

Добавлено
Ну т.е. во время реализации этого функционала, что по ссылке - я ни разу не сталкивался с проблемами. Вот :)

Автор: fatalist 23.03.15, 12:28
Цитата Serafim @
хм. Ну хз, мне это было не сложно написать
Пользуюсь JS SDK вконтакта и фейсбука, что бы где какие права не выставлял, мыло не отдают... решил плюнуть, походу в сдк толи апи не той версии подгружается, толи еще что...

Автор: Serafim 23.03.15, 12:56
Цитата fatalist @
Пользуюсь JS SDK вконтакта и фейсбука, что бы где какие права не выставлял, мыло не отдают...

вот именно потому, что
1) JS (клиент)
2) Наверняка не хватает прав (для получения доступа к почте требуется запрос на повышение прав, ака просьба пользователя авторизовать приложение)

Автор: fatalist 24.03.15, 09:58
Цитата Serafim @
Наверняка не хватает прав (для получения доступа к почте требуется запрос на повышение прав, ака просьба пользователя авторизовать приложение)
Это все учтено и работает... но мыло просто не приходит...

Добавлено
Цитата fatalist @
но мыло просто не приходит...
То есть тупо: все данные, которые прошу приходят, а поля "мыло" в объекте нет...

Автор: Serafim 24.03.15, 10:17
Для поля мыла отдельный скоуп нужен. Это учитывается?

Автор: fatalist 24.03.15, 10:19
Цитата Serafim @
Для поля мыла отдельный скоуп нужен. Это учитывается?
Да :yes: :yes: :yes:

Автор: Serafim 24.03.15, 10:35
Странно очень...

Автор: Jin X 25.03.15, 18:14
Цитата fatalist @
Это все учтено и работает... но мыло просто не приходит...
А можно показать, как это работает? Меня id вполне устроит :)

Автор: Serafim 25.03.15, 18:30
Цитата Jin X @
А можно показать, как это работает? Меня id вполне устроит

В сообщении номер 6, самый первый абзац: Был ли пользователь на сайте? (сообщение #3583469) включая обоснование того, почему я не стал приводить полный пример. Так что предлагаю задавать более уточняющие вопросы или достучаться вечерком (через час, например) в скайп - так быстрее будет.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)