Задать вопрос

Можно ли так обезопасить форму?

У меня чисто теоретический вопрос, связанный с безопасностью отправки форм и данных с сайта и антиспамом.
Могу ли я обойтись без какой-либо своей или гугл капчи, если при открытии сессии для форм будет генериться отдельный ключ, сохраняться в таблицу mysql в паре phpsessionid-key и в массиве S_SESSION(в кодированной форме)? Соответственно, при получении формы на стороне сервера будет проверка на наличие пары ключ-значение и при отсутствии или несовпадении данных - непринятие формы.
И что посоветуете почитать по этой тематике, я просто не хочу ставить никакие сторонние расширения или скрипты на свой сайт, но максимально иметь возможность избежать проблем со спамом или взломом.
PDO, распределенные запросы и валидацию данных я знаю).
  • Вопрос задан
  • 647 просмотров
Подписаться 8 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 4
Stalker_RED
@Stalker_RED
Вы, похоже, заново изобретаете CSRF-токен. (статья на хабре).

Такая защита не будет лишней, конечно, но непонятно как она защитит от спама. Спам-боты могут ведь перед каждым сообщением начинать новую сессию, и вы им выдадите ключи.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Как уже заметили коллеги - вы путаете 2 принципиально разные задачи - защиту от спама и защиту от кроссдоменного запроса.

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

2) Вариант с капчей можно не использовать для зарегистрированных и залогиненных пользователей, но тогда нужно следить за спамом в ручном режиме и блокировать аккаунт при такой активности. Как вариант - отслеживать частоту запросов, и при превышении некоторого числа за определенное время показывать капчу (так например работает вк).
Ответ написан
Комментировать
@aleksandr97
Пишу на PHP, изучаю GOLANG
То что ты описал похоже на CRF токены, защита от межсайтовых запросов.
https://habr.com/ru/post/318748/
Поможет с защитой, если форма приходит с стороннего сайта.

Без гугл капчи/яндекс капчи и тех подобных не обойтись, так как спамеры очень умные, даже теже самые капчи можно разгадывать за некую сумму денег при желании
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
Поздравляю с изобретением аналога csrf токена https://habr.com/ru/post/318748/
Но от ботов он не спасет, нужна капча или какой-то ханейпот типа такого: https://gist.github.com/andrewlimaza/958826feac907...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы