Насколько я читал отсюда, то, что капчи не составляют 100% secure.what, может использоваться вместо капчи? Как программист, что Вы думаете? как решить эту проблему?
Править: спасибо за все ответы.
Это нерешенная проблема, и со временем она станет более нерешенной. Чем лучше будут инструменты OCR, тем меньше будет разрыв между людьми и компьютерами и тем сложнее будет их отличить. В конце концов, компьютеры станут неотличимы от людей, и тогда игра будет продолжена.
Если ваш сервер хочет убедиться, что на другом конце TCP-канала находится человек, не существует теста Тьюринга, который в конечном итоге не будет побежден (и, вероятно, его никогда не будет). CAPTCHA обречена, вопрос лишь в том, как скоро.
Конечно, это не означает, что в том, что касается аутентификации человека, все кончено. Это просто означает, что автоматические тесты Тьюринга, какими бы удобными они ни были, не будут эффективным способом добиться этого еще очень долго.
Я думаю, это действительно зависит от того, что вы пытаетесь контролировать при использовании капчи.
Дальнейшее объяснение предложения Бориса:
случайно сгенерированный скрытый ввод, который должен быть нулевым
Идея состоит в том, что ваша форма содержит несколько невидимых вводов, их тип, вероятно, не должен быть скрытыми, но они должны быть невидимы для человека (например, установить ширину или высоту равными 0). Первоначальное содержимое этих полей должно быть пустым. Если человек заполняет форму, поле будет пустым, потому что человек не может видеть поле, чтобы ввести в него что-либо, но если бот заполняет форму, поле (возможно) не будет пустым, потому что обычно боты просто слепо вводите что-нибудь в каждое поле.
Таким образом, вы можете отличить бота от человека в зависимости от того, является ли содержимое этого поля пустым.
В конечном итоге правительство могло бы использовать серверы openid в качестве цифровых паспортов для своих граждан. Это был бы чистый способ идентифицировать людей и предотвратить носки.
Хотя капчи могут быть взломаны, только Capthca добавляет безопасности reCapthca очень хорошо, а обученный OCR, такой как Tesseract , будет иметь очень ограниченный успех в его взломе. Однако есть компании, которые используют Human Computation , чтобы сломать их за гроши. Но это делает атаки на вашу систему более дорогими, и это лучшее, на что вы можете надеяться. Криптографию можно взломать с помощью грубой силы. Все хэши паролей можно взломать, но мы по-прежнему используем их, потому что это усложняет задачу злоумышленнику.
Большинство «решений» в этой ветке: « Безопасность, хотя и неясность », и вам следует опасаться этих быстрых исправлений очень сложной проблемы.
Капчи используются для определения того, что запрос выполняет реальный человек, а не машина. Системы Captcha и похожие на captcha будут обновляться, как и технология их взлома.
Так как же доказать, что вы разговариваете с человеком, а не с компьютером? Например, вы можете потребовать от пользователей участвовать в сеансе чата и вести небольшой разговор. В настоящее время нет ИИ, который прошел бы тест Тьюринга.
Итак, ответ таков: ни одна система не идеальна. Не пытайтесь решить эту проблему, но постарайтесь найти способ уменьшить ее влияние.
В настоящее время на моем сайте я выбрал простые вопросы. Некоторые вопросы, которые я использовал в прошлом:
Другие хорошие варианты
Лучший способ, который я могу придумать, - это использовать что-то необычное, например, специальное скрытое поле, которое должно быть пустым (или другим специфическим value), с которым будут связываться роботы.
Если какой-нибудь производитель роботов настроит своего робота для вашего сайта, вам придется быстро изменить кодировку на что-то другое. Надеюсь, пройдет немало времени, прежде чем другой производитель роботов настроит своего робота для вашего сайта.
По сути, это безопасность через неизвестность, которая должна постоянно меняться, чтобы оставаться неясной.
Это не сработает, если кто-то специально нацелен на ваш сайт.