身份验证和登录-引导程序-选项卡

E先生

这主要涉及安全性,也涉及最佳方法的建议:

我最初设计的网站将为每个选项卡加载一个新的html / php文件,但是最近更改为使用引导程序和导航标签,这样我就没有大量的html文件,并且还可以使网站运行一些更顺畅

当前正在使用方法1 ...

方法1-登录html页面并使用php文件对用户进行身份验证,并在数据库中检查正确的凭据,将会话设置为admin / customer / staff等,然后重定向到所需的页面,如下所示。

if ($row[0]=='1') // admin login
{
$_SESSION['auth']='Admin';
//redirect to admin page
}
else if ($row[0]=='2') // business login
{
$_SESSION['auth']='Staff';
//redirect to staff page
}

方法2-是否有一种方法可以使用JQuery(或其他方法)隐藏标签内容,除非将会话设置为admin / customer / staff等?如果可能,这安全吗?换句话说,使用登录表单来运行php文件,以检查数据库中的用户凭据并请求用户身份验证级别(admin,staff等)并重定向回索引页面,但打开admin / staff选项卡的内容?与此类似的身份验证:

if (@$_SESSION['auth'] == "Admin")
{
header('Location: https://www.mywebsite.com/index.html#admin');
}
else if (@$_SESSION['auth'] == "Staff")
{
header('Location: https://www.mywebsite.com/index.html#staff');
}
else
{
//deny access and revert to login screen
}

我要的是上面的代码,这是如何重定向到我的主页但如何通过使用#staff /#admin加载tabcontent?然后可以做下面的事情吗?

<div role="tabpanel" class="tab-pane fade" id="staff">
//Some code either goes here to only allow access if the session is set to staff
//Alternatively if code doesnt go here, is it possible to use JQuery to target this tabpanel to show this tab if user authentication is staff
</div>

方法3-我很难相信这一点,但是有人告诉我,正常地设置选项卡并在成功尝试登录后打开选项卡是安全的。这是真的?如果是这样,我知道我可以使用AJAX进行实时登录,只需将登录定向到人员/管理员标签内容即可

因此,在快速摘要中,请确保我已尽最大可能对方法1,2或3进行了最佳解释,以确保性能和安全性。

是否

header('Location: https://www.mywebsite.com/index.html#admin');

在“管理”标签内容中打开网站。

预先感谢您对使用的最佳做法有些不确定的人。

艾略特·罗布森

为了安全起见,您肯定要进行服务器端验证。您的PHP绝不应呈现用户不应看到的任何HTML。

因此,您的index.html也应该是index.php。

header('Location: https://www.mywebsite.com/index.php');

然后在此文件中重复$_SESSION['auth']检查。

if (@$_SESSION['auth'] == "Admin")
{
    // Render admin tab
}
// ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

页面上的“猫头鹰轮播”和“引导程序”选项卡

引导程序选项卡:表单的下一个和上一个按钮

Twitter引导选项卡和javascript事件

AngularJS引导程序选项卡选项卡标题

Rails的嵌套表单和引导选项卡

Angular UI引导程序选项卡-无法使用选项卡内的按钮更改选项卡

Jinja2和Flask:“引导程序”选项卡仅显示第一个选项卡的内容,而不显示其余选项卡的内容

多个引导选项卡

jQuery验证未检查所有引导选项卡

离子选项卡和身份验证-选项卡在注销后仍然存在

更改选项卡后,从链接禁用引导程序打开的选项卡

引导程序选项卡:将NGL查看器加载到选项卡中

引导选项卡分组

需要添加删除按钮并仅在引导程序选项卡中删除选定的选项卡

通过Microsoft Firebase身份验证-登录选项卡未显示

自动引导选项卡

引导程序中的嵌套选项卡

引导程序选项卡不起作用引发选项卡未定义错误

使用引导程序从选项卡调用另一个选项卡?

使用json和php添加引导程序选项卡的问题

选项卡-单击选项卡之一(引导程序)后显示的内容

嵌套的引导程序选项卡-jQuery

Angular.js-UI路由器的其他选项和引导选项卡

引导程序中的选项卡和药丸

适用于同时登录多个应用程序的AppEngine的OpenID Connect和移动身份验证选项

样式引导程序活动选项卡

引导程序选项卡的 URL,不会指向正确的选项卡

如何在 mysqli 和 php 中保存引导程序 2 或 3 个导航选项卡内容?

使用 MS Graph 管理在 AAD B2C 应用程序中注册的“身份验证”选项卡