Page restriction for admin and editor

Asked

Viewed 133 times

0

On my site I have an administrative bank where I run a page with two users < admin,editor > and on another page I need to make a restriction to allow access only to the admin, but the script that I have is not restricting.

My page for restriction:

<?php include("scripts/restrict_admin.php"); ?>
<?php include('header.php'); ?>
    <div id="box">
       <div id="header">
          <div id="header_logo">
            <a href="painel.php"><img src="imagens/logo.fw.png" alt="" border="0"/></a>
    </div> <!--fecha div header_logo-->
  </div><!--fecha div header-->
    <div id="content">
       <div id="menu">
       <?php include('menu.php'); ?>
       </div><!--fecha div menu-->
         <div id="conteudo">
          <span class="caminho">Home &raquo; Usuários Cadastro</span>



          <form name="cadastro" action="" enctype="multipart/form-data" method="post">
          <label>
          <span>Usuário</span>
          <input type="text" name="usuario" />
          </label>
               <label>
              <span>Senha</span>
              <input type="password" name="senha" />
              </label>
                   <label>
                  <span>Nível</span>
                  <select name="nivel" id="nivel"/>
                  <option value="editor">Editor</option>
                  <option value="admin">Admin</option>
                  </label>
                       <label>
                      <span>Nome</span>
                      <input type="text" name="nome" />
                      </label>
                           <label>
                          <span>Email</span>
                          <input type="text" name="email" />
                          </label>
                    <input type="hidden" name="cadastro" value="ok" />
             <input type="submit" name="Cadastrar" value="Cadastrar" class="cadastro_btn" />                  
          </form>

    </div><!--fecha div conteudo-->
  </div><!--fecha div content-->
 <div id="clear"></div>
</div><!--fercha div box-->

  <?php include('footer.php'); ?> 

My script:

<?php

   session_start();
if (!isset($_SESSION)) {

}

$MM_authorizedUsers = "admin";
$MM_donotCheckaccess = "false";


// *** Restrict Access To Page: Grant or deny access to this page
if ( !function_exists('isAuthorized') ){
  function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}
}
$MM_restrictGoTo = "index.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}

?>

How should I proceed?

  • I edited your question to remove the greetings, as we usually keep them as clean as possible to focus on your scheduling question. If you are interested in visiting a part of the site that is not aimed to ask questions can know the [chat]. If you have questions about the operation, rules and procedures of the site visit the [meta].

  • 1

    Yes, I’m new to the forum, I’m still finding out the rules.

  • The idea here on the site (not a forum) is to ask questions as clearly as possible explaining well the problem you have so that those who answer can answer your question assertively.

  • 1

    Okay! friend. Nice of your information.

  • Is there a mistake? Tried to put var_dump($variavel); in the middle of the script to check how the script is running?

  • No error, I can access, but what happens is that both as editor and admin are logging in and I need to restrict access to admin, being only logging in the admin, in which place of the code I should put the var_dump?

  • Solved.In the field isAuthorized informed between empty quotes the admin went all right.

Show 2 more comments
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.