Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 @ , но это тоже легко обходится. Зашёл с другого компа или сделал reconnect и no problem. Цитата Jin X @ А что, нельзя создать новый аккаунт, чтоб обойти Вашу "защиту"?Может, идентифицировать человека через ВКонтакте, Facebook, Mail.Ru, учётную запись Яндекс, Google (или что-то ещё)? Поэтому думаю ответ один,и если то что Вы пытаетесь защитить - не военная тайна |
Автор: Serafim 17.03.15, 18:54 |
ну для этого нужно новую симку покупать, а кому оно надо? |
Автор: Jin X 17.03.15, 19:50 |
Можно, конечно. Ломается всё (на край, всегда можно зайти от друга), но моя задача - максимально усложнить этот процесс. Если человек сменит IP, зайдёт из другого браузера и увидит, что его спалили, он, мягко говоря, удивится (я бы удивился). А потом зайдёт с другого компа и опять поймёт, что его спалили, не факт, что ему придёт в голову, что привязка идёт к соц.сетям. Вопрос: как идентифицировать юзера из соцсетей? Узнать его e-mail/логин/просто имя. Добавлено И второй вопрос: можно ли привязаться к компу? Т.е. чтобы чел на одном компе не мог сменой браузера (например, на абсолютно чистый) не мог скрыться от глаз моих? Ну типа серийного номера винта/BIOS/ОС/etc... |
Автор: Serafim 17.03.15, 20:45 |
https://vk.com/dev/sites =) Например Добавлено Я бы мог потрудиться перепечатать как конкретно это делается - но сам понимаешь, там слишком много чего есть, долго. Так что если кратко - у любой социалочки есть OAuth апишечка, описанная на страницах документации. Добавлено нет. Максимум что можно делать - проверять наличие шрифтов в ОС, наличие плагинов (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 18.03.15, 08:33 |
А, я-то думал, что можно получить MAC-адрес актуальной карты. |
Автор: zera 18.03.15, 08:46 |
Цитата Serafim @ хотя можно в теории делать запрос на айпишник и получать MAC адрес карточки, но сам понимаешь - это не вариант а в теории это как? |
Автор: Serafim 18.03.15, 08:48 |
это значит, что по интернетам могут бродить такие советы, но на практике они не воспроизводятся (точнее работает, но очень редко) |
Автор: zera 18.03.15, 09:21 |
Цитата Serafim @ какая-то совсем эфемерная теория-то это значит, что по интернетам могут бродить такие советы, но на практике они не воспроизводятся (точнее работает, но очень редко) |
Автор: Serafim 18.03.15, 09:59 |
обоснования? |
Автор: orb 18.03.15, 13:37 |
Цитата Jin X @ Может, идентифицировать человека через ВКонтакте, Facebook, Mail.Ru, учётную запись Яндекс, Google (или что-то ещё)? И как это сделать? без согласия - никак. Любая соц сеть, прежде чем дать инфу о юзере, должна получить добро от пользователя. Это тоже самое что и юзер зарегается и тогда отличать его по личному аккаунту. и теория разбивается. А еще момент что с одного компа могут несколько человек сидеть, например, интернет кафе, рабочие компы. Ну и собственно у одного юзера может быть сразу куча компов: домашний, рабочий, ноут, планшет, телефон, ... Добавлено В целом можно применить кучу танцев с бубном, но это будет только для обычных юзеров, а "хитрые" юзера все равно найдут как избежать. Jin X, самый хороший вариант - сделать обязательную регистрацию и либо усложнить процесс регистрации (хабр) либо поднять ценность профиля. |
Автор: Serafim 18.03.15, 14:18 |
Цитата orb @ и теория разбивается. А еще момент что с одного компа могут несколько человек сидеть, например, интернет кафе, рабочие компы. Ну и собственно у одного юзера может быть сразу куча компов: домашний, рабочий, ноут, планшет, телефон, Во, об этом кстати как-то забылось. Очень уместное замечание. Имхо - всё же социалочки лучший вариант для каких-либо фаст регистраций на непродолжительное время. |
Автор: Jin X 19.03.15, 00:04 |
Цитата orb @ Ну как сказать? Если я могу добавить на сайт виджет, на котором отображается моё имя (или какая-то моя информация), значит я могу и выцепить id, разве нет? К тому же, я точно знаю, что есть специальные скрипты, которые могут это делать. Платные (для ВК).Любая соц сеть, прежде чем дать инфу о юзере, должна получить добро от пользователя. Это тоже самое что и юзер зарегается и тогда отличать его по личному аккаунту. Цитата orb @ Регистрация вообще не канает.Jin X, самый хороший вариант - сделать обязательную регистрацию и либо усложнить процесс регистрации (хабр) либо поднять ценность профиля. Это всё понятно, я ж говорю: А вообще, смысл в том, чтобы давать челу пряник, если он зашёл на сайт первый раз и выполнит нужное мне действие сегодня (или сегодня-завтра). |
Автор: Serafim 19.03.15, 00:21 |
Цитата Jin X @ А вообще, смысл в том, чтобы давать челу пряник, если он зашёл на сайт первый раз и выполнит нужное мне действие сегодня (или сегодня-завтра). тотже вконтактик имеет систему поощрений за выполнение целевых действий, например, чем не пряник? Добавлено Нет, в том-то и дело. Добавлено Цитата Jin X @ К тому же, я точно знаю, что есть специальные скрипты, которые могут это делать. Платные (для ВК). если и есть - вк довольно оперативно латает подобные дыры, так что есть максимум месяц использования свежей дырочки. Добавлено Хотя вру, в теории может прокатить, в браузерах есть запрет только открытия в айфрейме, про доступ к JS ничего не знаю. Но это не мешает разрабам ВК выполнять весь код в замыкании и скрывать выхлоп. Добавлено а вообще - обычно за подобные действия, которые ты пытаешься провернуть - посылают куда подальше (они как минимум не в рамках правил этого ресурса) так что я удаляюсь, оставляю всё на совесть модераторов раздела. Добавлено |
Автор: fatalist 20.03.15, 20:38 |
Цитата Serafim @ 2) Если же всё же нужно, то использовать социалочки в качестве идентификтора - самый надёжный способ. При этом профили из разных социалочек (одного человека) можно вполне связывать по email. Ага, осталось это мыло выгрызть у социалочек |
Автор: Serafim 20.03.15, 20:40 |
и что в этом такого сложного? Просто нужно добавить 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 22.03.15, 03:43 |
просто надо добавить ключик емемила в группу прав при получении доступа к профилю |
Автор: Jin X 22.03.15, 10:16 |
Ну, так а чтоб получить доступ к профилю, пользователь должен его подтвердить? |
Автор: Serafim 22.03.15, 13:48 |
Естественно |
Автор: orb 22.03.15, 14:10 |
Цитата Serafim @ вк довольно оперативно латает подобные дыры, так что есть максимум месяц использования свежей дырочки. Какой смысл делать основу своей безопасности на чужих дырах? |
Автор: Serafim 22.03.15, 14:13 |
три раза перечитал, но так и не понял что ты спрашиваешь |
Автор: orb 22.03.15, 14:17 |
|
Автор: Serafim 22.03.15, 15:57 |
ааа, ну так это и зайчикам понятно, что Jin X пытается сделать то, что не будет работать в большинстве случаев, а если и будет, то придётся переделывать каждый месяц, заодно нарушив пару правил, как ресурсов, так и законодательства, начиная с п.276 уголовного кодекса (шпионаж), заканчивая специфичными для области (ака похищение персональных данных без ведома пользователя и аналогичных) |
Автор: 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 23.03.15, 12:28 |
Пользуюсь JS SDK вконтакта и фейсбука, что бы где какие права не выставлял, мыло не отдают... решил плюнуть, походу в сдк толи апи не той версии подгружается, толи еще что... |
Автор: Serafim 23.03.15, 12:56 |
Цитата fatalist @ Пользуюсь JS SDK вконтакта и фейсбука, что бы где какие права не выставлял, мыло не отдают... вот именно потому, что 1) JS (клиент) 2) Наверняка не хватает прав (для получения доступа к почте требуется запрос на повышение прав, ака просьба пользователя авторизовать приложение) |
Автор: fatalist 24.03.15, 09:58 |
Цитата Serafim @ Это все учтено и работает... но мыло просто не приходит... Наверняка не хватает прав (для получения доступа к почте требуется запрос на повышение прав, ака просьба пользователя авторизовать приложение) Добавлено То есть тупо: все данные, которые прошу приходят, а поля "мыло" в объекте нет... |
Автор: Serafim 24.03.15, 10:17 |
Для поля мыла отдельный скоуп нужен. Это учитывается? |
Автор: fatalist 24.03.15, 10:19 |
Да |
Автор: Serafim 24.03.15, 10:35 |
Странно очень... |
Автор: Jin X 25.03.15, 18:14 |
А можно показать, как это работает? Меня id вполне устроит |
Автор: Serafim 25.03.15, 18:30 |
В сообщении номер 6, самый первый абзац: Был ли пользователь на сайте? (сообщение #3583469) включая обоснование того, почему я не стал приводить полный пример. Так что предлагаю задавать более уточняющие вопросы или достучаться вечерком (через час, например) в скайп - так быстрее будет. |