duanjiong2021 2018-07-20 19:01
浏览 55

如果用户尝试多次登录,如何触发?

I have a form like that for logging in:

<form action="form.php" method="post">
    <input type="text" name="name" placeholder="Type your name">
    <input type="password" name="password" placeholder="Type your password" >
    <input type="submit" name="submit" value="Login">
</form>

I want to add Google Recaptcha only if the user is trying to login more than 3 times for example:

<form action="form.php" method="post">
    <input type="text" name="name" placeholder="Type your name">
    <input type="password" name="password" placeholder="Type your password" >
    <?php
        if(){ // Check if submitted more than 3 times.
            <div class="g-recaptcha" data-sitekey="=== Your site key ==="></div>
        }
    ?>
    <input type="submit" name="submit" value="Login">
</form>

I'm thinking of using Cookies, After validating and login fails add a cookie with value = 1 and if this cookie exists, Increase by 1.

if( isset($_COOKIE['tries']) ){
    createcookie('tries', $_COOKIE['ties'] +1 );
}else{
    createcookie('tries', '1');
}

But what if the cookies are disabled?!

Also I'm thinking of using the IP Address , Create a table with IP Addresses of users trying to login and the login fails:

__________________________________
|        |          |             |
|   ip   |   count  |   date      |
|________|__________|_____________|

Where count is the login fails times and date is today date, So if it's today date and the count > 3, Show the Recaptcha.

But what if the user is using a VPN?

Is there is a reliable way for doing that?

How does stackoverflow do that?

  • 写回答

2条回答 默认 最新

  • duanliang2017 2018-07-20 19:04
    关注

    How about sessions?

    Increment a variable in your session every time a login is processed. Then check the session var and if it's greater than 3, show the recaptcha.

    session_start();
    $_SESSION["logins"]++;
    
    ---
    
    if($_SESSION["logins"] >= 3)...
    
    评论

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行