Никак, просто сделать доступ к данным через редирект на определенную страницу, и сделать ограничение на некоторое количество сессий с одного айпи за определенный промежуток времени. Если сессия в урле есть, а куки нет, то тоже редирект через эту страницу с заведением новой сессии.
Ну а то что это приватная вкладка то, как мы узнаем?
Вопрос то про это
Приватная вкладка ничем не отличается от обычной вкладки, кроме того что в ней куки, кэш и т.д. живут только до закрытия приватной сессии.
Я в общем случае имел в виду следующий алгоритм: - Юзеру ставится сессия которая передается через параметр урла и кука в которую пишется этот же идентификатор. - Если юзер заходит на страницу и у него есть сессия в урле, которая уже есть в хранилище и айпи совпадает, а куки нет, значит он из режима инкогнито. - Если сессии нет и нет куки, то смотрится есть ли с таким айпи некоторое количество сессий за определенное время(можно так же привязывать к каким-то параметрам компьютера), если количество превышено, то доступ закрывается. - Если сессии нет и есть кука, то просто используется идентификатор из куки и он потом копируется в урл.
- Если сессии нет и нет куки, то смотрится есть ли с таким айпи некоторое количество сессий за определенное время(можно так же привязывать к каким-то параметрам компьютера), если количество превышено, то доступ закрывается
Про NAT мы, значит, не слышали. И про несколько браузеров тоже. И про несколько пользователей на одном компьютере. И про то, что некоторые вообще куки не хранят.
И не будет, за исключением возможности наличия уязвимостей в браузере. Но это решение маловероятное, редкое и совершенно не подходит для использования.
Я знаю, что передаются. Но если ограничение например 1 сессия в день на юзерагент + айпи, то юзер сможет зайти в приватный режим только 1 раз в день. Без сессии его не пустят на страницу которая проверяет наличие сессии. Ну а идентификатор сессии в урле, это проверка на идиота, если человек скопипастит урл не из режима инкогнито.
Ip + юзерагент будет достаточно, если часть пользователей не сможет что-то постить то это проблема, но на то есть техподдержка. Если человек не хранит куки, то это его проблемы.
Ну конечно лучше делать вход через соцсети и капчу на каждый чих чем вот это. Я конечно исхожу из предположения что задача как и в прошлый раз - борьба с риэлторами спаммерами на сайте о недвижимости в котором постинг без регистрации.
Я конечно исхожу из предположения что задача как и в прошлый раз - борьба с риэлторами спаммерами на сайте о недвижимости в котором постинг без регистрации.
Так они спамят явно не через приватный режим браузера. Я такие задачи решаю курлом и/или спец софтом.
Решил обзвонить всех местных провайдеров и узнать насколько вероятно, что какие-то юзеры будут под одним ip. Если у всех уникальные - буду запрещать более 2-х браузеров с одного адреса, хе-хе.
Зачем? Не проще ли обязать юзверей логиниться, например, с помощью Persona. E-mail есть у всех, процесс логина занимает секунды. Этим можно значительно усложнить жизнь спамерам. Потом - запретить одному юзеру сабмитить формы чаще, чем раз в N секунд. Профит.