我数据库中不是来自注册过程的神秘用户

时间:2019-08-08 17:18:08

标签: laravel authentication laravel-5 user-registration

我有一个Laravel-5.5应用程序正在开发中,并且在Google App Engine上公开了一个实时测试应用程序。我的注册过程包括Laravel的标准Auth注册。如果尚未为该用户提供一个RegisterController,然后将其重定向到个人资料页面。

    public function redirectTo()
{
    if (!Auth::user()->profile)
    {
        return '/profile';
    }
    else 
    {
        return $this->redirectTo;
    }
}

配置文件控制器在页面加载时自动为用户创建新的用户配置文件记录。

$(document).ready(function () 
    {
        ...
        getProfileData(profileId);
                    ...
    });

getProfileData()发布到控制器。如果ProfileId为空,则控制器将创建新记录并将验证电子邮件发送到注册地址。

如何在不进行重定向和创建配置文件的情况下创建用户?

正在实时站点上创建用户,而没有个人资料或发送验证电子邮件。这些用户的会话记录中的user_agent似乎是真实的。

关于如何创建这些用户以及如何停止这些用户的任何想法都是最有用的。

1 个答案:

答案 0 :(得分:0)

我认为,Laravel受到正在寻求安全措施不良的站点的参与者的积极攻击。首先从访问该站点并获得活动会话开始,然后收获会话csrf-token并在非站点生成的帖子(抓取工具?)中使用该令牌到标准Laravel注册路线。

由于我的网站有两部分注册,生成了一个配置文件,并且在获得访问权限之前,该配置文件需要由人工验证,因此注册然后忽略响应重定向到配置文件页面,即可部分完成注册。

为了防止在用户表中导致数据库混乱,我更改了标准身份验证路由和从注册表单返回的预期字段。

由于这些更改,我没有半数注册用户出现在数据库中。如果我看到更多此活动,我将更新此答案。