Я использую следующую защиту (невидимая капча) для отправки формы моего сайта, чтобы предотвратить автоматическую отправку:
- сгенерируйте результат md5 с фиксированной солью на числе x и отобразите его
внутри формы как скрытое поле
- генерирует 2 скрытых поля a и b, где a + b = x, a и b
незашифрованном
- после отправки используйте javascript, чтобы добавить еще одно простое скрытое поле c
где с = а + б
- на стороне сервера примените md5 на c с солью, сравните его с зашифрованным
х
Однако такая система взломана на производстве, один человек смог автоматически автоматически отправить тысячи форм. Есть идеи как?
Один из способов сделать это состоит в том, что хакер уже знает, что операция + (это легко узнать с помощью javascript), прочитайте форму и добавьте a и b, создайте новую форму с дополнительным полем c, где c = а + б. Сначала он должен прочитать форму, а затем создать ее для отправки.
Мои вопросы:
- Является ли гипотеза, которую я изложил выше, вероятным способом сломать мою систему?
- Если так, что я должен сделать, чтобы предотвратить этот тип взлома?
- Какие еще альтернативные взломы может использовать хакер?
Я не хочу использовать настоящую капчу, потому что она ухудшает пользовательский опыт. Все предложения приветствуются.