Рефакторинг, чтобы избежать проблем с юзабилити
Это не кажется разумным, и я бы посоветовал избежать этого любой ценой, потому что у вас есть серьезные проблемы с юзабилити, если вам нужны два из них. Зачем тебе в любом случае две капчи? Основная идея капчи заключается в том, что она гарантирует, что кто-то вводил данные в форму, а не компьютер.
Так что, если на странице есть одна капча, вы уверены. Так что, если первый был заполнен человеком, все остальные данные также были, и вам не нужны вторые.
Но я вижу один сценарий, когда две капчи могут появиться на месте. И тогда у вас будет два <form>
элемента на странице. Таким образом, пользователь может отправить либо один, либо другой. В этом случае пользователь всегда будет отправлять данные только из одной формы, а не из обеих. Так что вы можете избежать этого, либо:
- разделение этих двух форм на две страницы / представления с дополнительной страницей предварительного условия, на которой пользователь выбирает одну из двух форм
- сначала скрывает капчу, но когда пользователь начинает вводить данные в одну из форм, вы можете переместить скрытый DIV с капчей внутри формы и отобразить его. Таким образом, на странице будет только одна капча, и она будет в форме, которую пользователь собирается отправить
Второй - тот, которого вы хотели бы избежать. Если вы дадите нам более подробную информацию о проблеме вашего бизнеса, мы можем дать вам гораздо лучший ответ.
Альтернативы
Поскольку вы описали свою реальную бизнес-проблему, я предлагаю вам взглянуть на трюк медовый горшок , который чаще используется в подобных ситуациях. Потому что, если вы используете слишком много капч на вашем сайте, люди будут раздражены. Это утомительная работа, это точно. Трюк с медом может помочь вам избежать ненужного ввода данных.
Другой вопрос, конечно: Входят ли ваши пользователи, когда им доступны эти действия ? Особенно редактирующий. Если они есть, вы можете лучше смягчить эту проблему. Вы можете установить ограничение по времени для каждого пользователя для отправки сообщений. Как мало в минуту. Это то, что сделал бы человек. И, конечно же, храните информацию об отправке этих электронных писем, чтобы вы могли отслеживать историю действий пользователей, чтобы вы могли отключить учетные записи. Но когда пользователи входят в систему, им обычно не нужно вводить капчи, поскольку они уже идентифицировали себя на этапе аутентификации.
Главный вопрос, конечно: Почему бот отправляет электронные письма друзьям ? не могли бы они рассылать спам? Какой смысл тогда? Скорее всего, боты будут злоупотреблять вашей системой, если они все равно могут спамить пользователей. Либо отправив письмо с контентом, либо оставив спам-комментарии на вашем сайте. Эти формы должны быть проверены ботом.