php – 如何防止在5分钟内多次提交表单?

前端之家收集整理的这篇文章主要介绍了php – 如何防止在5分钟内多次提交表单?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近发现我的PM系统存在一个巨大的安全问题,它允许用户在地址栏中使用for循环发送消息.有人把它放到地址栏中:
javascript:for(x=0;x<10000;x++){ $('#compose form').submit(); }

并且消息被发送了1000次给我,我的收件箱中充满了相同的消息,我的数据库非常充实,PHPMyAdmin非常迟钝.

我的问题是,我该如何防止这种情况?这是一个重大问题.

此外,表单是使用AJAX提交的.

编辑:

我使用PHP,所以如何防止这种情况?就像我怎样才能将消息发送到每5分钟左右发送一次的消息,如果他们在5分钟内提交了多个消息,它将显示错误(或者根本不显示任何用户反馈,只是阻止它被提交)?

有一种明显的方法可以解决它,问题不在于客户端 – 它位于服务器端.

您的服务器脚本不应允许过于频繁地发送消息 – 例如.通常比每10分钟一次.为此,您可以在服务器端使用会话机制,并在用户发送电子邮件时保存信息.如果用户尚未发送电子邮件,您还应该在会话中保存该信息 – 以区分启用了会话的人员和禁用会话的人员(并且您应该阻止后者发送电子邮件).

会话的实现方式(具体代码)取决于您用于服务器端脚本的语言(PHP,Python,JSP等).

猜你在找的PHP相关文章