Я обнаружил, что запрос ответа на простой вопрос отправил браузер в виде изображения (например, «2 + 3 - 4 =», разновидность «капчи», но не так раздражает), с небольшим количеством Javascript довольно хорошо.
Отправьте форму с изображением и полем ответа, а также скрытым полем с «задачей» (какой-то случайно сгенерированной строкой). Когда пользователь отправляет форму, хэширует запрос и ответ и отправляет результат обратно на сервер. Сервер может проверить действительный ответ, прежде чем добавить его в базу данных для проверки.
Вроде бы много работы, но это сэкономит часы на просмотр. Использование jQuery:
<script type="text/javascript">
// Hash function to mask the answer
function answerMask()
{
var a = $('#a').val();
var c = $('#c').val();
var h = hex_md5(hex_md5(a) + c);
$('#a').val(h);
}
</script>
<form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST">
<table>
<tr><td>Comment</td><td><input type="text" name="comment" /></td></tr>
<tr><td># put image here #</td><td><input id="p" type="text" name="a" size="30" /></td></tr>
<tr><td><input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /></td><td><input type="submit" value=" Go "></td></tr>
</p>
</form>
<Ч />
Редактировать обновление ...
Я видел эту технику на веб-сайте, я не уверен, какой именно, поэтому эта идея не моя, но вы можете найти ее полезной.
Предоставьте форму с полем вызова и полем комментария. Поставьте перед задачей префикс «Выберите третье слово из: glark snerm hork morf», чтобы слова и какой из них выбрать были легко сгенерированы на сервере и легко проверялись при возвращении содержимого формы.
Смысл в том, чтобы заставить пользователя сделать что-то , применить несколько клеток мозга и выполнить больше работы, чем это стоит для детского сценария.