【发布时间】:2020-09-10 00:36:22
【问题描述】:
我正在尝试制作一个按钮来触发呈现登录页面的请求。我想将登录页面限制为仅限我项目的管理员。我有他们的 IP 地址,并使用这些地址与数据库中的 IP 地址进行核对。如果 ip 匹配,我希望呈现登录页面,但如果它不匹配,那么我希望页面保持原样。我不希望页面重新加载或页面重定向。我想要它,就像按钮根本不工作一样。该页面不应尝试获取响应。
我想要这样的东西-
我有一个提交表单的按钮,它包含用户的 ip。
app.post("/something",function(req,res){
Admins.findOne({userIP:req.body.userIP},function(err,foundItem){
if(!err){
if(foundItem){
res.render("login");
}else{
}
});
});
我不确定else 部分需要输入什么代码。 res.end() 对我不起作用,因为如果我使用它,则会显示空白页。我希望页面保持原样并保持原样。
请大家帮忙!提前致谢。
【问题讨论】:
-
这似乎是一种不寻常的方法。通常,您会将登录页面显示给 所有 用户,然后可能只允许具有某些凭据的管理员登录。为什么要像这里一样走使用IP白名单/黑名单的路线?
-
如果您一开始就知道 IP,那么最好阻止任何 IP 加载给其他用户。这可以在许多层面上实施。最简单的方法是将您的网络服务器(apache/nginx/others)配置为仅允许来自某些 IP
-
@Tim 我有一个用于管理数据库的 GUI。呈现给所有用户的登录页面将毫无用处,因为他们与它无关。如果页面对所有人开放,也会引发安全问题。
标签: javascript node.js mongodb ejs