首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拒绝快速单击登录帖子

拒绝快速单击登录帖子
EN

Stack Overflow用户
提问于 2013-09-16 18:54:57
回答 2查看 97关注 0票数 1

我构建了一个登录表单。我已经有一个功能,如果你已经超过5次失败的尝试,登录表单将被阻塞。

但是如何拒绝未进入用户或未通过的快速登录调度呢?

我的意思是,在stackoverflow的登录系统中,当您快速单击登录按钮时,服务器上70%的帖子被拒绝。

我不想在帖子之间延迟,只是为了在另一篇文章完成之前拒绝帖子。

那么,拒绝快速点击登录帖子的最好方法是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-16 20:00:25

您可以使用以下(示例)方法,它可以在服务器端工作,以及会话,以防止人们单击得太快。

当前代码至少设置为3秒。

您可以将用于成功发布的代码放入else条件中。

重要:如果您正在使用多个页面,那么session_start();需要在每个页面中,对于包含的文件也是如此。

当前设置为在一个文件中工作,使用action=""

代码语言:javascript
运行
复制
<?php

session_start();

$_SESSION['start_time'] = time();

if (isset($_POST['submit'])) {

    $current_time = time();

    if (!empty($_POST['start_time'])) {
        if (($current_time - $_POST['start_time']) < 3) { // 5 is number of seconds differential; change as you sit fit
            // someone/something has submitted this form in under 5 seconds from reaching the page
            // probably a bot

echo "Sorry, too fast";

exit;
        }

else {

$fname = $_POST['fname'];
$fname = ucwords($fname);
echo "Thank you $fname";

}
    }
}
?>

<form action="" method="post">
    <input type="hidden" name="start_time" value="<?php echo $_SESSION['start_time']; ?>"/>

    <!-- other form fields -->

<input type="text" name="fname">

<input type="submit" name="submit" value="Submit" />
</form>
票数 2
EN

Stack Overflow用户

发布于 2013-09-16 20:26:17

如果您想在上一篇文章完成之前拒绝发布

我建议在会话中存储post状态值。

因此,当发布时,此状态将更改为指示其繁忙的值。

如果有人试图在完成之前发布,他们会从服务器那里得到一条消息,表示它很忙。

我不知道你是如何实现这一点的,但这更像是解释这个想法的伪代码。

代码语言:javascript
运行
复制
 <?
       if($_SESSION['busy'] == true){ 
         $_SESSION['busy'] = true; 
         //PHP POST HANDLER CODE HERE 
         $_SESSION['busy'] = false;
         //RETURN JSON FOR RESULT OF LOGIN ATTEMPT    
        }
       else
        {
          //RETURN JSON FOR BUSY STATUS
        }  

 ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18835223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档