部署时缺少 Netlify 蜜罐属性
Netlify honeypot attribute missing on deployment
我有一个 Django 网站,我正在使用 django_distill 应用程序生成一个静态网站,我正在将其部署到 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 会删除这个吗?
简而言之:是的,netlify 删除了这个字段。
我最初认为这是因为缺少 data
前缀,但如果它与 data-netlify="true" data-netlify-honeypot="BOTFIELD
一起使用或仅与 netlify="true" netlify-honeypot="BOTFIELD
.
一起使用,netflify 会独立删除它
我做了一个快速隔离测试以确保 django 没有施展魔法。所以我简单地使用了两个静态 html 文件并将它们推送到 netlify:
- https://gallant-edison-bf9c5f.netlify.com/index.html(w/o数据属性)
- https://gallant-edison-bf9c5f.netlify.com/index2.html(带数据属性)
在这两种情况下它都消失了。您可以在此处查看这两个文件各自的源代码:
https://github.com/christoph-kluge/netlify-example
我假设 netlify 在部署期间正在解析您的 HTML 代码并正在对其进行调整。此外,netflify 已经检查特定 post 是否是潜在的机器人并为您删除这些请求。所以他们需要对这些字段做些什么。
希望这能回答您的问题。
我有一个 Django 网站,我正在使用 django_distill 应用程序生成一个静态网站,我正在将其部署到 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 会删除这个吗?
简而言之:是的,netlify 删除了这个字段。
我最初认为这是因为缺少 data
前缀,但如果它与 data-netlify="true" data-netlify-honeypot="BOTFIELD
一起使用或仅与 netlify="true" netlify-honeypot="BOTFIELD
.
我做了一个快速隔离测试以确保 django 没有施展魔法。所以我简单地使用了两个静态 html 文件并将它们推送到 netlify:
- https://gallant-edison-bf9c5f.netlify.com/index.html(w/o数据属性)
- https://gallant-edison-bf9c5f.netlify.com/index2.html(带数据属性)
在这两种情况下它都消失了。您可以在此处查看这两个文件各自的源代码:
https://github.com/christoph-kluge/netlify-example
我假设 netlify 在部署期间正在解析您的 HTML 代码并正在对其进行调整。此外,netflify 已经检查特定 post 是否是潜在的机器人并为您删除这些请求。所以他们需要对这些字段做些什么。
希望这能回答您的问题。