it-swarm.xyz

Использование переходных процессов для хранения каптч

Мне просто интересно, сработает ли что-то подобное:

  • На странице отображается форма с кодом капчи внутри.
  • Когда эта форма генерируется, переходный процесс устанавливается для хранения кода капчи.
  • Вистор отправляет форму
  • После отправки $_POST['captcha'] сравнивается с переходным процессом из базы данных; в случае совпадения верните успех, иначе не получится
  • Удалить переходный процесс

Как вы думаете? Это безопасно?

2
Alex

Я думаю, что, хотя этот метод может быть безопасным, есть много преимуществ использования стандартной системы кодирования, как с точки зрения безопасности изображений/аудио/медиа-файлов, так и с точки зрения преимуществ производительности, таких как кэширование. , Если вы используете, например, виджет капчи, основанный на JavaScript, базовая страница, сгенерированная WordPress, может фактически полностью кэшироваться как статическая страница несколькими плагинами кэширования. Если вы генерируете капчу в PHP каждый раз, это будет невозможно

Если вы пойдете по этому пути, вам также нужно будет добавить еще одно скрытое значение в форму, чтобы убедиться, что пользовательский агент, отвечающий на капчу, является тем, для кого вы только что ее сгенерировали. Функция WordPress wp_nonce может помочь вам сделать это легко. В противном случае, если вы не будете тщательно очищать свои переходные процессы, то кто-то может кэшировать эту страницу с помощью кода и попросить другого агента пользователя отправить ответ.

1
mitcho