我创建了一条路由,我发送给尚未成为管理员的管理员加入系统。路线就像myGames/superadmin/register
一样简单。现在,我认为这条路线很容易被某人猜测并注册。任何入侵者都可以这样做并以管理员身份访问我的系统。无论如何保持这条路线安全吗?
感谢任何帮助。谢谢
答案 0 :(得分:2)
我会做什么:
1-生成一些令牌(类似于98q4w94qw98d1q98w4e9x)并将其存储在桌面上的数据库中,仅用于存储管理员注册令牌。
2-发送带有此令牌的网址给您的朋友,它看起来像这样:
myGames/superadmin/register/98q4w94qw98d1q98w4e9x
3-当用户进入此页面时,获取令牌并检查它是否存在于数据库中。
4.1 - 如果令牌存在,允许用户通过注册进行处理(然后从数据库中删除不再需要的令牌)。
4.2 - 如果令牌不存在,则将此人重定向到其他地方或显示“无效注册令牌”或其他内容的消息。
这样,即使有人猜到这个网址,他们也无法注册,因为他们没有令牌。
这就是您的路线:
Route::get('myGames/superadmin/register/{token?}', function($token = null){
if (!$token){
abort(403, "Only users with a token may enter.");
}
if(DB::table('admin_tokens')->where('token', $token)->count() === 0){
abort(403, "It seems like your token is not valid.");
}
else{
return view('admin.register');
}
});