我有一个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看起来是真实的。
任何关于这些用户是如何创建的以及如何停止它的想法都将是最有帮助的。
发布于 2019-09-26 00:36:20
我相信Laravel正在积极地受到那些寻找安全实践不佳的网站的行为者的攻击。它首先访问站点并获取活动会话,然后获取会话csrf-token,并在非站点生成的post中使用该令牌(crawler?)到标准的Laravel注册路线。
由于我的站点有一个生成配置文件的两部分注册,并且在授予访问权限之前,配置文件需要由人类验证,因此注册然后忽略响应到配置文件页面的重定向将获得部分完成的注册。
为了避免users表中数据库的混乱,我更改了标准身份验证路由和从注册表单返回的预期字段。
由于这些更改,我没有半注册用户显示在数据库中。如果我看到更多这样的活动,我会更新这个答案。
https://stackoverflow.com/questions/57417748
复制相似问题