gpt4 book ai didi

php - 访问未授予发布者的管理页面链接

转载 作者:行者123 更新时间:2023-11-29 03:21:36 27 4
gpt4 key购买 nike

如果用户不是管理员,我正在使用这个 session 逻辑,这样他就不必访问管理页面功能,这是好的 session 逻辑吗?方法还是我应该使用另一种方法请进一步指导我。看这个索引页面我有一些链接必须访问其他成员然后是管理员和管理员的所有链接请告诉我你正在使用的 url 组件中有哪些链接

  <?php
include "config.php";
session_start();
if( (!isset($_SESSION['username'])) && (!isset($_SESSION['type'])) ){
header('location:login.php');
}
if($_SESSION['type'] != 'Administrator')
{
header('location:index.php');
}
?>

index.php
<?php
include "config.php";
session_start();
if(!isset($_SESSION['username']))
{
header('location:login.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="list-group">
<a href="#" class="list-group-item">Article</a>
<a href="#" class="list-group-item">Categories</a>
<?php
if($_SESSION['type']=='Administrator'){
?>
<a href="#" class="list-group-item">Media</a>
<a href="#" class="list-group-item">tempelate</a>
<a href="test.php" class="list-group-item">Setting</a>
<?php
}else{
?>
<a href="#" class="list-group-item">Profile</a>
<?php
}
?>
<a href="logout.php" class="list-group-item">Logout</a>
</div>
</div>
</body>
</html>

最佳答案

由于您不希望用户访问管理页面,稍微更可靠的检查可能是首先确定当前页面是否确实是 admin.php。如果是,则可以验证 type 以了解它是否确实设置为 Administrator,然后才能授予访问权限。

如果未设置或设置为其他内容,则用户可能会返回到 index.php 页面。

<?php
include "config.php";
session_start();


$url_components = explode('/', $_SERVER['SCRIPT_NAME']);
$current_url = $url_components[count($url_components) - 1];

if(!isset($_SESSION['username'])){
header('location:login.php');
}

if(!($current_url == 'admin.php'
&& isset($_SESSION['type'])
&& $_SESSION['type'] == 'Administrator')){
header('location:index.php');
}
?>

关于php - 访问未授予发布者的管理页面链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615921/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com