Небольшое дополнение к безопасности приложения (теория)
Коллеги, доброго времени суток. Вопрос чисто теоретический.
Существует несколько способов защиты приложения от иньекций, csrf, xss и так далее. И по сути 100% защиты не один не гарантирует. Покуда есть вопрос как определить реального пользователя от бота, а потом бота поисковиков от редисок)))). От сюда вопрос, может кто задумывался, если в дополнение к события например клик (отправка формы и тыц на кнопку для чего либо) проверять focus, mouseover, потому что что бы нажать на button необходимо навести курсор мыши (если она есть), или как вариант при загрузке страницы сразу проверить mousemove и отправить на сервер какую-нибудь метку, типа пользователь реальный. для touch событий наверное аналогичное решение. Возможна генерация событий. типа if (!event) return 'До свидания'; или как то еще Буду рад любым комментариям по делу. Может кто-нибудь озадачивался вопросом. Заранее благодарю. |
|
рони,
Это понятно, но istrusted не все браузеры поддерживают и мысль такая что если нужно нажать на кнопку на неё нужно сначала курсор навести и так далее, так сказать универсальное решение пусть костыль даже но тем не менее, хоть немного определить реального человека от бота |
И ещё один вопрос, видят ли боты код сгенерированный JavaScript ом?????
Или они только читают исходный код страницы????? |
Роман Андреевич,
бот может не только событие клик совершать но и mouseover. что за приложение пишите? |
j0hnik,
Пишу приложение для управления торговым процессом компании, там же и управление интернет магазином, встал вопрос как отделить реального пользователя от бота. Хотя бы как то косвенно. Основная идея, как и писал выше была, но действительно бот может подделать все что угодно, включая user agent и так далее. Остается видимо один вариант, садить админа и отслеживать подозрительную активность. Дальше все что приходит чистить, удалять теги и вредоносные выражения, а после если что остается отправлять на сервер. Сессию делать минут на 30 - 20 простоя. И проверять на регулярные выражения какие-то входные данные По сути даже и токены не помогают, если страницу просканировать, например file_get_contents() - самое простое что пришло в голову, то вытащим все токены и так же отправим их на сервер, а сервер их примет и скажет что все ок. |
Остается вопрос, видит ли бот, код сгенерированный JavaScript'ом????? Т.е. если я вывожу статичный контент, а кнопки для отправки данных каких то, генерирую скриптом. По сути если посмотреть исходный код, страницы там кнопочек то не видно, только в отладчике.
|
По сути, с какой-то стороны если посмотреть))))) Выполнение сценариев JS это программа, единственное код можно подсмотреть, если не сжатый он. И от сюда, контент то получается динамический при каких то условиях. А бот не может провести регистрацию или авторизацию, потому что нужно сделать ряд действий.
|
Видит, будет запускаться по загрузке документа или всех ресурсов.
|
Цитата:
|
Часовой пояс GMT +3, время: 15:00. |