保护php联系人表单的安全

保护php联系人表单的安全,php,wordpress,forms,contact-form,Php,Wordpress,Forms,Contact Form,根据本教程,我制作了一个简单的php联系人表单: 最大的问题是这种表单处理不安全,我听说人们可以用它发送垃圾邮件和/或攻击我的服务器 使此表单更安全所需的基本步骤是什么? Ps:如果可以避免的话,我不想使用重新验证码 编辑:我需要建议哪些php函数用于过滤和确保表单以“正确的方式”提交,而不是修改和/或用于攻击我的网站或向其他人发送电子邮件(使用网站向其他人发送垃圾邮件)。我只需要用斜杠吗?或者有更好的方法吗?一种方法:如果你不是一个庞大的网站,不太可能有人会发现/花时间去了解 您可以使用一些

根据本教程,我制作了一个简单的php联系人表单:

最大的问题是这种表单处理不安全,我听说人们可以用它发送垃圾邮件和/或攻击我的服务器

使此表单更安全所需的基本步骤是什么? Ps:如果可以避免的话,我不想使用重新验证码


编辑:我需要建议哪些php函数用于过滤和确保表单以“正确的方式”提交,而不是修改和/或用于攻击我的网站或向其他人发送电子邮件(使用网站向其他人发送垃圾邮件)。我只需要用斜杠吗?或者有更好的方法吗?

一种方法:如果你不是一个庞大的网站,不太可能有人会发现/花时间去了解

您可以使用一些棘手的JS来处理单击时的令牌。因此,服务器在后端呈现阶段向页面上的可单击/可聚焦元素发出令牌id。将这些记录在数据库或数据文件中。然后,当用户单击并提交时,可以比较通过onclick()函数发送的id。您还可以应用一些启发式方法来确定单击的历史是否合理。帖子的速度太快,不可能是人,也就是说,即使他们编写了劫持令牌ID和自动提交的脚本,您也可以检查点击事件之间的时间间隔是否自动显示。最近注册了一个twitter帐户?他们使用被动人体检测,虽然不是100%万无一失,但速度较慢,更难突破。有人会真的想攻击/垃圾邮件你的网站

重要步骤2:如果您认为这会破坏您的页面,请删除/URLEncode奇怪的字符。破坏事物的常见方式有“和”和:

另一种方式:

只要你使用加密方法,没有蹩脚的验证码就可以验证人性。我的意思是,也不要忽略你的标题。这些都是互补的方法

关键是要有足够的复杂性来解决NP完全问题

当人工智能能够独立解决多个复杂的人类问题的那一天到来时,除了请求篡改之外,我们还需要担心其他事情

另一家公司正在做有趣的研究,他们实际上使用的游戏旨在欺骗RTT训练RTT如何更容易被人类解决


这是一篇关于NP难问题的好文章。我在这里看到了一个巨大的可能性:

嗨,很多好的建议我会让答案保持开放一段时间。AreYouHuman很出色!我需要说明为什么我让它保持开放状态,我想…我错过了更多关于php函数用于过滤和保护表单提交的建议以“正确的方式”编辑,未被修改和/或用于攻击我的网站或向其他人发送电子邮件(使用该网站向其他人发送垃圾邮件)。