形成欺骗的最佳解决方案是什么?

时间:2011-11-18 21:26:46

标签: php

除了过滤输入之外,“形式欺骗”的最佳解决方案是什么?

我理解以下内容:

  1. 推荐人可以被欺骗

  2. Telnet可用于欺骗服务器

  3. 可以绕过客户端过滤

  4. 我明白我应该避免GET

  5. 我可以使用Captcha

  6. 如何阻止某人从任何地方发布到我的表单处理脚本?

6 个答案:

答案 0 :(得分:2)

如果有人可以手动发布表单,他们也可以自动发布。除了节制之外,没有办法阻止它。你可以使用验证码更难。但我个人讨厌验证码,因为它们只是一个由懒惰的版主组成的解决方案,可以让用户解决问题。

答案 1 :(得分:1)

这是一种使用令牌的方法。

http://shiflett.org/articles/cross-site-request-forgeries

答案 2 :(得分:0)

真的不多。每个客户端检查都可以被欺骗或绕过。一些身份验证方法最好,使用HTTP Auth或您使用会话编写的简单系统。

答案 3 :(得分:0)

我不知道最好的解决方案是什么,但您可以在应该生成表单的脚本上使用会话变量,并在表单POST中检查它。你可以md5变量内容,并使其有点随机,以提高安全性。

答案 4 :(得分:0)

真正的问题是,为什么想要阻止人们从任何地方发布到您的网页?您的网页应准备好接受任何输入,无论它来自何处。您可以采取一些措施来减少令牌等自动发布,但是您无法完全阻止它。

但是,不过试图阻止它,我会欢迎它。宣传您的跨站点帖子API并获利。

Postel定律:

  

TCP实施应该遵循健全性的一般原则:保守你做的事情,对你接受别人的做法要自由。

答案 5 :(得分:0)

在表单上设置一个隐藏输入,该输入等于由会话ID +秘密“salt”字符串值组成的字符串的md5值。然后,当您处理表单时,您可以获取会话ID,添加秘密值,并将其中的mp5与通过表单传递的值进行比较。