Атрибут Netlify honeypot отсутствует при развертывании - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть django веб-сайт, на котором я использую приложение django_distill для создания статического c сайта, который я собираюсь использовать для netlify. Я решил добавить в форму поле защиты бота (https://docs.netlify.com/forms/spam-filters/#honeypot -field ). Когда я запускаю сайт локально, я вижу

<form data-netlify="true" name="consultdocs" netlify-honeypot="BOTFIELD" action="/contact/" id="form" method="post" novalidate="novalidate"> <input type="hidden" name="csrfmiddlewaretoken" value="rdKh4K2zu9T96aEUO9exSv3QCAm5w"> 
 <input id="id_BOTFIELD" name="BOTFIELD" type="hidden"> 
 ....

При развертывании в netlify:

<form name="consultdocs" action="/contact/" id="form" method="post" novalidate="novalidate"><input type="hidden" name="form-name" value="consultdocs"> <input type="hidden" name="csrfmiddlewaretoken" value="GNnbYgQu6vLduSpWEswAVXfEx"> 

<input id="id_BOTFIELD" name="BOTFIELD" type="hidden"> 
.... 

Я больше не вижу атрибута:

netlify-honeypot="BOTFIELD"

. Netlify удаляет это?

1 Ответ

1 голос
/ 29 февраля 2020

Вкратце: да, netlify удаляет это поле.

Сначала я думал, что это из-за пропущенного префикса data, но netflify удаляет его независимо, если он используется с data-netlify="true" data-netlify-honeypot="BOTFIELD ИЛИ просто netlify="true" netlify-honeypot="BOTFIELD.

Я сделал быстрый тест изоляции убедитесь, что django не делает волхвов c. Поэтому я просто использовал два stati c html файла и подтолкнул их к netlify:

В обоих случаях оно исчезает. Вы можете проверить соответствующий исходный код для обоих файлов здесь:

https://github.com/christoph-kluge/netlify-example

Я предполагаю, что netlify анализирует ваш код HTML во время развертывания и корректирует его , Кроме того, netflify уже проверяет, является ли указанный пост c потенциальным ботом, и отбрасывает эти запросы для вас. Поэтому им нужно что-то делать с этими полями.

Надеюсь, это ответит на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...