微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何防止服务器端从非预期的源接收数据

我有一个名为addItem的PHP服务.
当有人在客户端提交表单时,将调用此服务.

如何保证确保仅在从预期表单调用添加项目?
例如,试图阻止某人通过自动卷曲调用提交内容.

谢谢,
T恤

解决方法:

简短的回答是,你做不到.只要表单可访问,您可以使用自动方式处理用于保护表单的任何方法.您永远不应指望用户发送的数据是安全的.但是,对于想要欺骗您的表单的人来说,有一些事情可以让事情变得更具挑战性.

>添加一个CAPTCHA,可能会过滤掉几乎所有脚本提交,但也会对普通用户产生最大的负面影响.
>采用某种形式的CSRF保护(无论如何你应该拥有).这意味着任何想要通过表单提交数据的人都必须首先申请表格.如果此表单只能在登录墙后面访问,这将使事情变得非常具有挑战性.
>如果您已经要求用户使用Javascript,请在​​设置CSRF保护密钥时尝试使用JS.这意味着必须解析或执行JS才能提交有效的表单.
>过滤常用用户代理,例如cURL和wget.
>检查表单是否通过POST发送而不是GET.
>在服务器上添加速率限制以将提交限制在合理的水平.
>检查HTTP引荐来源.很容易伪造,但还有一个箍跳过.

最终,如果有人想通过其他方式向您的表单提交数据,那么它仍然是可能的.上述步骤可能会使其更具挑战性,但用户可以采取的任何操作始终都是脚本化的,因此请确保在服务器端进行适当的验证.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐