Javascript 为每种类型的用户提供不同内容的网站(关于安全)
所以我知道一些html、css、js、php和mysql,但我对安全问题的了解非常有限 对于我目前正在构建的一个网站,我只是使用css显示:none(用js触发)来 显示或不显示某些内容,具体取决于用户的类型(客户、员工、老板)。 我明白如果你不想有人看到某样东西的风险,他应该 不(检查页面或其他方式)您根本不应该发送该信息(从服务器端=php)。 我不确定我的想法是否正确 如果我有3种类型的用户1)客户2)员工3)老板 我想展示不同的内容(基本上是相同的内容,但更多的信息) 对于员工,甚至是老板)对于网站中存在的5个页面,对他们每个人都是有效的吗 要使每个页面具有3个不同的php文件(每种类型的用户一个),请在登录过程中将每个用户的不同值存储在$_SESSION['authority'],并使用该值决定他可以访问哪个页面 例如,起始页面是index.php,当用户根据其权限级别(从数据库检索)登录时,他将 使用标题重定向(“Location:name_of_page.php”);如果他是客户,则索引index.php;如果他是员工,则索引_employee.php 如果他是老板,则索引_boss.php。 在这些页面中的每一个页面中,使用类似于以下内容的内容来防止具有不同权限的用户进入 index_boss.phpJavascript 为每种类型的用户提供不同内容的网站(关于安全),javascript,php,html,css,security,Javascript,Php,Html,Css,Security,所以我知道一些html、css、js、php和mysql,但我对安全问题的了解非常有限 对于我目前正在构建的一个网站,我只是使用css显示:none(用js触发)来 显示或不显示某些内容,具体取决于用户的类型(客户、员工、老板)。 我明白如果你不想有人看到某样东西的风险,他应该 不(检查页面或其他方式)您根本不应该发送该信息(从服务器端=php)。 我不确定我的想法是否正确 如果我有3种类型的用户1)客户2)员工3)老板 我想展示不同的内容(基本上是相同的内容,但更多的信息) 对于员工,甚至是老
<?php
session_start();
if($_SESSION['authority'] == 2 && $_SESSION['loggedin'] == true) {
?>
page content
<?php
}
else
{
if( $_SESSION['authority'] == 1 )
{
header("Location: index_employee.php");
}
else
{
header("Location: index.php");
}
}
?>
<html>// Start the session here
<?php session_start();?>
<head>
//Your configuration
</head>
<body>
<?php
if($_SESSION['authority'] == 1 && $_SESSION['loggedin'] == true) {
?>
Here the Contents of the boss
<?php
elseif($_SESSION['authority'] == 2 && $_SESSION['loggedin'] == true) {
;?>
Here the contents of employee
<?php }else{ ?>
Here the contents of clients
<?php };?>
</body>
</html>
页面内容
这是解决这个问题的正确方法吗?
有没有办法只为所有用户使用一个php文件,并以其他安全的方式隐藏或显示某些内容?这里合适的解决方案是基于角色的系统。换句话说,创建3个角色并将用户放入这些角色中。您需要的对象包括:
使用这些对象创建基于角色的权限系统。希望有帮助 是的,可以在同一页中执行此操作!就这样做吧: 根据:1)老板2)员工3)客户 index.php
<?php
session_start();
if($_SESSION['authority'] == 2 && $_SESSION['loggedin'] == true) {
?>
page content
<?php
}
else
{
if( $_SESSION['authority'] == 1 )
{
header("Location: index_employee.php");
}
else
{
header("Location: index.php");
}
}
?>
<html>// Start the session here
<?php session_start();?>
<head>
//Your configuration
</head>
<body>
<?php
if($_SESSION['authority'] == 1 && $_SESSION['loggedin'] == true) {
?>
Here the Contents of the boss
<?php
elseif($_SESSION['authority'] == 2 && $_SESSION['loggedin'] == true) {
;?>
Here the contents of employee
<?php }else{ ?>
Here the contents of clients
<?php };?>
</body>
</html>
//在此处启动会话
//您的配置
这里是老板的内容
这里是员工培训的内容
这里是客户的内容
对于低级别站点,您的实现似乎是正确的。然而,随着您的扩展,可能很难对网站的每个单独部分或子部分进行跟踪
我建议使用类方法(为每个用户创建一个不同的类并使用对象),或者甚至使用一个通常包含在其自身结构中使用类的框架,以简化您的实现和编码过程
您可能希望实现的框架包括CodeIgniter或Laravel(没有特定的顺序)-请记住,目前,如果每次重新加载都进行检查,您的代码就会执行这些操作-在大多数情况下,正确实现的类或框架会自动知道该做什么,从而使反应时间稍微加快,但更重要的是,更清晰的代码结构和良好的开发基础。像这样在html代码中添加php代码是安全的吗?用户能否以某种方式看到该会话值?