Это всегда жестко, я приветствую Ваше требование избегать использования КАПЧИ. Я предложил бы сначала блокировать их на основе их поведения, которое можно установить с помощью Запросов HTTP. Посмотрите на инструмент, известный как плохое поведение , в году, что я использовал его на нескольких сайтах, это должно все же заблокировать настоящего человека. Большинство ботов не делает очень хорошего задания притворства быть веб-браузером. Я также рекомендую использовать горшок с медом проекта API.
, Во-вторых, измените свои формы на случайной основе, включая маркировки. Это не разработано для одурачивания ботов, это разработано, чтобы позволить Вам обнаружить их IP-адреса / прокси. Что-то, что завинчивает записи xx времена, должно пойти на тот список.
Наконец при нахождении в положении, где просто необходимо использовать некоторый человеческий процесс проверки, попробуйте что-то вроде этого:
[ image of a pig ]
The image above is a: [ ] dog [ ] house [ ] pig
, Который не был бы очень раздражающим людям.
Короче говоря, нет 'одного' решения Вашей проблемы, не ожидайте быть на 100% успешными. Установите свою цель для сокращения раздражения до очень тусклого рева, необходимо смочь сделать это скорее быстро.
Сопоставление URL-адресов в Django очень мощно, если не всегда так удобно, как могло бы быть. Как говорит Брайан, вам нужно использовать шаблон r '^ $', чтобы ваш шаблон соответствовал всей строке. С r '' вы ищете пустую строку в любом месте URL, что верно для любого URL.
Шаблоны URL Django почти всегда начинаются с ^ и заканчиваются на $. Теоретически вы могли бы выполнить какое-то необычное сопоставление URL-адресов, где строки, найденные где-либо в URL-адресе, определяют, какую функцию просмотра следует вызывать, но трудно представить сценарий.