|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Всем привет- вопрос чисто по интересу Вводные данные- есть система- которая что то там делает и она идентифицирует юзера ( судя по всему там образуется сессия) далее юзер что то там делает и выходит важно понимать что юзер никак не авторизован- ему приходит ссылка - по перехожу которой образуется пункт 1 в чем проблема по бизнес логике - юзер который один раз сходил по этой ссылке - больше по ней сходить не должен( тут есть нюансы- в системе есть флаг комлпит/некомлит) тоесть если чел зашел и у него флаг комплит - мы его должны отфутболить - и то происходит- до тех пор,пока юзер не открввает ссылку в анонимном режиме того же хрома( тем самым ломается бизнес логика-один человек одна ссылка) собственно я только что эту уязвимость обнаружил и хочется понять есть ли реальные способы борьбы с этим? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 20:11 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
небольшое дополнение,юзер не сможет больше пройти по ссылке в текущей верссии приложения- так как сессия будет таже ( судя по всему) но вот если открыть анонимное окно - то можно по этой ссылке ходить сколько душе угодно вопрос как это запретиить,учитывая тот факт,что клиенты ,переходящие по ссылке никак в системе не авторизованы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 20:15 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
тоесть по факту система должна понять - что человек который только что открыл ссылку и что то там сделал и человек ,который открыл ту же ссылку ,но в режиме инкогнито - один и тот же юзер( важно понимать что в системе нет юзеров,судя по всему все пляешт от сессии) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 20:21 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
тоесть по большому счету я хотел услышать от профи такой ответ - насколько это нормальное поведение системы какие варинты решение есть ,если это поведение не нормально или же мы должны анонимайзеры воспринимать как побочный эффект ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 20:26 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79 тоесть по большому счету я хотел услышать от профи такой ответ - насколько это нормальное поведение системы какие варинты решение есть ,если это поведение не нормально или же мы должны анонимайзеры воспринимать как побочный эффект Ну с таким умением формулировать вопросы тебе до мидла как пешком до луны. Понять что делает система ты не можешь, но думаешь мы тебе поможем. Если ссылка должна отрабатывать один раз, ты там что кстати делаешь фичу сменить пароль? Почему так сразу и не сказать? Так вот, именно для смены пароля наверное есть что-то готовое в том же спринге, ну допустим это что-то другое, тогда нормальный человек сделает так - 1) по некому событию генерируется токен или ууид и сохраняется в базу 2) генерируется Линка с этим токеном 3) при переходе по Линке из параметров реквеста берется токен и ищется в базе, если есть - то пускаем дальше и удаляем токен из базы, если токена нет - значит кто-то уже использовал, значит даём отлуп. Что тут сложного? Хотя это Стас, потом окажется что у них в супер банке такой подход ещё во время половцев запретили. А на самом деле и ТЗ никакого не было и тимлид не в курсе что Стас страдает хернёй и получает зарплату за просиживание штанов ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 22:29 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79, Ты когда изучишь Hello world штатная система аутентификации? Год прошел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 00:18 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Я-бы предложил другой алгоритм. Одноразовая сессия живет 1 минуту после активации. После этого - автоматом закрывается. 1-й минуты достаточно чтобы выкачать все содержимое. Запретить пользователю использовать много браузеров и режимы инкогнито - принципиально невозможно. Пользователь - хозяин локального софта и имеет техническую возможность делать все что угодно. В том числе и делать дамп сетевого трафика и наблюдать все http-интеракции в dev-mode. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 00:20 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Непонятно, что есть "ссылка" и как пользователь ее получает. Если например из спам рассылки, то достаточно делать уникальные ссылки для каждого пользователя. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 01:12 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Режим инкогнито существует, чтобы нельзя было отличить два браузера одного пользователя от двух браузеров двух разных пользователей. P.S. Если что, то это могут быть два разных пользователя в двух разных сеансах на одном хосте. RDP-сервер или простое "Сменить пользователя", как пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 09:51 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
забыл ник asv79 тоесть по большому счету я хотел услышать от профи такой ответ - насколько это нормальное поведение системы какие варинты решение есть ,если это поведение не нормально или же мы должны анонимайзеры воспринимать как побочный эффект Ну с таким умением формулировать вопросы тебе до мидла как пешком до луны. Понять что делает система ты не можешь, но думаешь мы тебе поможем. Если ссылка должна отрабатывать один раз, ты там что кстати делаешь фичу сменить пароль? Почему так сразу и не сказать? Так вот, именно для смены пароля наверное есть что-то готовое в том же спринге, ну допустим это что-то другое, тогда нормальный человек сделает так - 1) по некому событию генерируется токен или ууид и сохраняется в базу 2) генерируется Линка с этим токеном 3) при переходе по Линке из параметров реквеста берется токен и ищется в базе, если есть - то пускаем дальше и удаляем токен из базы, если токена нет - значит кто-то уже использовал, значит даём отлуп. Что тут сложного? Хотя это Стас, потом окажется что у них в супер банке такой подход ещё во время половцев запретили. А на самом деле и ТЗ никакого не было и тимлид не в курсе что Стас страдает хернёй и получает зарплату за просиживание штанов давай по пунктам тебе отвечу,чтобы ты немного остудил свой пыл) 1.я прекрасно понимаю что делает система- просто тут этого писать по понятным причинам я не могу- так только в общих словах ,если ты этого не понял - ну извини. 2.Нет это не смена пароля- есть некий пул ссылок(откуда они берутся не важно) - клиент получает оттуда одну из них - далее переходит по ней ,в системе происходит обработка бизнес логики и на этом все. 3.То что ты описал в 3х пунктах - мне нравится- единственно ,что я бы не стал использовать в качестве истоника правды бд- а что нить типо кеша ( редис,хелзел) но тут не уверен насколько это так же правильно 4.Да ты прав, такого ТЗ нет и я чисто для себе интересуюсь как можно реализовать подобное ну и по просиживанию штанов - я в отпуске - так что опять мимо) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 17:30 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
PetroNotC Sharp asv79, Ты когда изучишь Hello world штатная система аутентификации? Год прошел. Ты уже 5 лет не можешь осознать ,что есть такие сервисы ,которые никак не идентифицируют часть тех ,кто взаимодейтсвует с системой. Для тебе можно другими словами описать - ты пришел в церковь исповедоться- и сидишь в кабинке,и что то вещаешь священнику- по факту для него ты иногнито,но он вкурсе твоей проблемы - ферштейн?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 17:35 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
mayton Я-бы предложил другой алгоритм. Одноразовая сессия живет 1 минуту после активации. После этого - автоматом закрывается. 1-й минуты достаточно чтобы выкачать все содержимое. Запретить пользователю использовать много браузеров и режимы инкогнито - принципиально невозможно. Пользователь - хозяин локального софта и имеет техническую возможность делать все что угодно. В том числе и делать дамп сетевого трафика и наблюдать все http-интеракции в dev-mode. суть перехода по ссылке - набор неких действий- которые никак не ограничены по времени - тоесть,пока действие не закончено - ссылка будет приводить на то состоние в котором оно было в последний раз после взаимодейтсвия важно чтобы после того как все действия были произведены не было возможности эти действия повторить еще раз пройдя по той же ссылке например в режиме инкогнито Но как я выше и сказал это не задача и не БТ,а собственные ресерчи для повышения кругозора,так что тут можно просто порассуждать на эту тему не вдаваясь в конкретные реализации ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 17:46 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Непонятно, что есть "ссылка" и как пользователь ее получает. Если например из спам рассылки, то достаточно делать уникальные ссылки для каждого пользователя. IMHO а что помешает этому пользователю еще раз пройти по этой ссылке в режиме инкогнито и повторить процесс ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 17:48 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79 Leonid Kudryavtsev Непонятно, что есть "ссылка" и как пользователь ее получает. Если например из спам рассылки, то достаточно делать уникальные ссылки для каждого пользователя. IMHO а что помешает этому пользователю еще раз пройти по этой ссылке в режиме инкогнито и повторить процесс Запоминать уже посещенные ссылки. Инкогнито или нет - уже никак не поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 20:10 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79 mayton Я-бы предложил другой алгоритм. Одноразовая сессия живет 1 минуту после активации. После этого - автоматом закрывается. 1-й минуты достаточно чтобы выкачать все содержимое. Запретить пользователю использовать много браузеров и режимы инкогнито - принципиально невозможно. Пользователь - хозяин локального софта и имеет техническую возможность делать все что угодно. В том числе и делать дамп сетевого трафика и наблюдать все http-интеракции в dev-mode. суть перехода по ссылке - набор неких действий- которые никак не ограничены по времени - тоесть,пока действие не закончено - ссылка будет приводить на то состоние в котором оно было в последний раз после взаимодейтсвия важно чтобы после того как все действия были произведены не было возможности эти действия повторить еще раз пройдя по той же ссылке например в режиме инкогнито Но как я выше и сказал это не задача и не БТ,а собственные ресерчи для повышения кругозора,так что тут можно просто порассуждать на эту тему не вдаваясь в конкретные реализации Ну делай. В чем проблема-то. Сброс паролей в соц-сетях так и происходит. Тебе высылают на почту линку которая действует 1 сутки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2021, 20:28 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79, >Ты уже 5 лет не можешь осознать = как это относится что ты ни разу не писал то что писали все мемберы практически? Это букварь профи, и не важно что там петро кушает на завтрак) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 06:59 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Не вижу проблему. 1. храним уникальные ссылки с флагом посещено/не посещено. 2. при переходе открываем сессию, и сразу ставим флаг. (или не сразу) 3. юзер что-то там поделал, перезайти уже не сможет. на шаге 2 можно флаг ставить не при открытии, а при выполнении юзером какого-либо действия. И это нормально, что юзер открыл в 10ти браузерах одну ссылку (и получил столько же сессий), которую юзер или сервис ещё не деактивировал. upd: если открыто 10 сессий, юзер в одной сделал что-то, что проставило флаг, в других(во всех) сессиях должна быть проверка на каждый запрос юзера, активна ли еще ссылка, если нет, редиректим его куда-то на страницу ошибки или главную или выкидываем ошибку, да что угодно, лишь он дважды ссылку не деактивировал и не смог другие действия выполнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 07:39 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Я бы не делал сброс флага сразу. Опыт подобных систем подсказывает что велика вероятность того что пользователь сделает фальш-клик сначала. Закроет окно. И потом осознав что это кликнет второй раз и сам себя заблокирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 08:52 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev asv79 пропущено... а что помешает этому пользователю еще раз пройти по этой ссылке в режиме инкогнито и повторить процесс Запоминать уже посещенные ссылки. Инкогнито или нет - уже никак не поможет ну вот это уже адекватное решение ,насколько оно правильное в условиях высоконагруженного сервиса - уже вопрос другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 10:12 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79, Ты 10 раз повторил слово юзверь. Однако само понятие юзверь без АУТЕНТИФИКАЦИИ не существует. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 10:39 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
asv79, >Нет это не смена пароля- есть некий пул ссылок(откуда они берутся не важно) - клиент получает оттуда одну из них - далее переходит по ней ,в системе происходит обработка бизнес логики и на этом все. == Не клиент, а абстрактный запрос. Так как аутентификации нет. Образованней надо быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 11:12 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Образованней надо быть. будет образней, потребуешь конкретику)) тебе не угодить) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 12:18 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp Образованней надо быть. будет образней, потребуешь конкретику)) тебе не угодить) "Надо разговаривать. Отстаивать свое мнение инженерными терминами." Или у тебя есть что возразить на фразу "юзверь запрашивает но анонимно")))? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 12:29 |
|
Авойд анонимного юзера
|
|||
---|---|---|---|
#18+
Чего вы так распалились? Автор же пишет - это не бизнесовая задача. А просто учебная. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 12:56 |
|
|
start [/forum/topic.php?fid=59&msg=40061559&tid=2120477]: |
0ms |
get settings: |
17ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
25ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
496ms |
get tp. blocked users: |
0ms |
others: | 287ms |
total: | 837ms |
0 / 0 |