首页 文章

保护php联系表单

提问于
浏览
0

我按照本教程制作了一个简单的php联系表单:http://www.catswhocode.com/blog/how-to-create-a-built-in-contact-form-for-your-wordpress-theme

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

What are the basic steps needed to make this form more secure? Ps:如果可以避免,我不想使用重新验证码...

Edit: 我需要建议使用哪些php函数来过滤和保护表单提交"the right way"并且不得更改和/或用于破解我的网站或向其他人发送电子邮件(使用该网站向其他人发送垃圾邮件) . 我只需要使用strip_slashes吗?或者,还有更好的方法?

1 回答

  • 1

    一种方式:如果你不是一个庞大的网站,那么任何人都不可能想出这个/花时间去做 .

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

    Important Step 2: 如果您认为这会破坏您的页面,请删除/ URLEncode奇怪的字符 . 破坏事物的常见事物是“和”和:

    另一种方式:http://areyouahuman.com/

    只要你使用加密方法验证人性而没有蹩脚的CAPTCHA是可能的 . 我的意思是,不要忽略你的 Headers . 这些是免费的方式 .

    关键是要有足够的复杂性来解决NP-Complete问题 . http://en.wikipedia.org/wiki/NP-complete

    当人工智能可以自己解决多个复杂的人类问题的那一天,我们将有其他事情需要担心而不是请求篡改 .

    http://louisville.academia.edu/RomanYampolskiy/Papers/1467394/AI-Complete_AI-Hard_or_AI-Easy_Classification_of_Problems_in_Artificial

    另一家进行有趣研究的公司是http://www.vouchsafe.com/play-games他们实际上使用的游戏旨在诱骗RTT训练RTT如何让人类更容易解决!

    这是一篇关于NP-Hard问题的精彩文章 . 我可以在这看到一个巨大的可能性:http://www.i-programmer.info/news/112-theory/3896-classic-nintendo-games-are-np-hard.html

相关问题