!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/musvin.pp.ua/modules-alien/ajaxfilemanager/server/classes/   drwxr-xr-x
Free 116.64 GB of 200.55 GB (58.16%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class.AuthService.php (7.64 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * @package info.ajaxplorer
 * 
 * Copyright 2007-2009 Charles du Jeu
 * This file is part of AjaXplorer.
 * The latest code can be found at http://www.ajaxplorer.info/
 * 
 * This program is published under the LGPL Gnu Lesser General Public License.
 * You should have received a copy of the license along with AjaXplorer.
 * 
 * The main conditions are as follow : 
 * You must conspicuously and appropriately publish on each copy distributed 
 * an appropriate copyright notice and disclaimer of warranty and keep intact 
 * all the notices that refer to this License and to the absence of any warranty; 
 * and give any other recipients of the Program a copy of the GNU Lesser General 
 * Public License along with the Program. 
 * 
 * If you modify your copy or copies of the library or any portion of it, you may 
 * distribute the resulting library provided you do so under the GNU Lesser 
 * General Public License. However, programs that link to the library may be 
 * licensed under terms of your choice, so long as the library itself can be changed. 
 * Any translation of the GNU Lesser General Public License must be accompanied by the 
 * GNU Lesser General Public License.
 * 
 * If you copy or distribute the program, you must accompany it with the complete 
 * corresponding machine-readable source code or with a written offer, valid for at 
 * least three years, to furnish the complete corresponding machine-readable source code. 
 * 
 * Any of the above conditions can be waived if you get permission from the copyright holder.
 * AjaXplorer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * 
 * Description : Users management for authentification.
 */
class AuthService
{
    function 
usersEnabled()
    {
        return 
ENABLE_USERS;
    }
    
    function 
changePasswordEnabled()
    {
        
$authDriver ConfService::getAuthDriverImpl();
        return 
$authDriver->passwordsEditable();
    }
    
    function 
generateSeed(){
        
$authDriver ConfService::getAuthDriverImpl();
        return 
$authDriver->getSeed(true);
    }
    
    
/**
     * Get the currently logged user object
     *
     * @return AbstractAjxpUser
     */
    
function getLoggedUser()
    {
        if(isSet(
$_SESSION["AJXP_USER"])) return $_SESSION["AJXP_USER"];
        return 
null;
    }
    
    function 
preLogUser($remoteSessionId "")
    {
        if(
AuthService::getLoggedUser() != null) return ;
        
$authDriver ConfService::getAuthDriverImpl();
        
$authDriver->preLogUser($remoteSessionId);
        return ;
        
/*
        // TODO : CREATE APPROPRIATE AUTH DRIVERS
        if(AUTH_MODE == "wordpress"){
            global $current_user;
            wp_get_current_user();
            if($current_user->user_login == '' || $current_user->wp_user_level < 8 || !function_exists('ajxp_content')){
                die("You are not allowed to see this page!");
            }
            AuthService::logUser($current_user->user_login, "", true);
        }
        */
    
}
    
    function 
logUser($user_id$pwd$bypass_pwd false$cookieLogin false$returnSeed="")
    {
        
$confDriver ConfService::getConfStorageImpl();
        if(
$user_id == null)
        {
            if(isSet(
$_SESSION["AJXP_USER"])) return 1
            if(
ALLOW_GUEST_BROWSING)
            {
                
$authDriver ConfService::getAuthDriverImpl();
                if(!
$authDriver->userExists("guest"))
                {
                    
AuthService::createUser("guest""");
                    
$guest $confDriver->createUserObject("guest");
                    
$guest->save();
                }
                
AuthService::logUser("guest"null);
                return 
1;
            }
            return 
0;
        }
        
$authDriver ConfService::getAuthDriverImpl();
        
// CHECK USER PASSWORD HERE!
        
if(!$authDriver->userExists($user_id)) return 0;
        if(!
$bypass_pwd){
            if(!
AuthService::checkPassword($user_id$pwd$cookieLogin$returnSeed)){
                return -
1;
            }
        }
        
$user $confDriver->createUserObject($user_id);
        if(
$authDriver->isAjxpAdmin($user_id)){
            
$user->setAdmin(true);
        }
        if(
$user->isAdmin())
        {
            
$user AuthService::updateAdminRights($user);
        }
        
$_SESSION["AJXP_USER"] = $user;
        if(
$authDriver->autoCreateUser() && !$user->storageExists()){
            
$user->save();
        }
        
AJXP_Logger::logAction("Log In");
        return 
1;
    }
    
    function 
updateUser($userObject)
    {
        
$_SESSION["AJXP_USER"] = $userObject;
    }
    
    function 
disconnect()
    {
        if(isSet(
$_SESSION["AJXP_USER"])){
            
AJXP_Logger::logAction("Log Out");
            unset(
$_SESSION["AJXP_USER"]);
        }
    }
    
    function 
getDefaultRootId()
    {
        
$loggedUser AuthService::getLoggedUser();
        if(
$loggedUser == null) return 0;
        foreach (
array_keys(ConfService::getRootDirsList()) as $rootDirIndex)
        {            
            if(
$loggedUser->canRead($rootDirIndex."")) return $rootDirIndex;
        }
        return 
0;
    }
    
    
/**
    * @param AJXP_User $adminUser
    */
    
function updateAdminRights($adminUser)
    {
        foreach (
array_keys(ConfService::getRootDirsList()) as $rootDirIndex)
        {            
            
$adminUser->setRight($rootDirIndex"rw");
        }
        
$adminUser->save();
        return 
$adminUser;
    }
    
    
/**
     * Update a user object with the default repositories rights
     *
     * @param AbstractAjxpUser $userObject
     */
    
function updateDefaultRights(&$userObject){
        foreach (
ConfService::getRepositoriesList() as $repositoryId => $repoObject)
        {            
            if(
$repoObject->getDefaultRight() != ""){
                
$userObject->setRight($repositoryId$repoObject->getDefaultRight());
            }
        }
    }
    
    function 
userExists($userId)
    {
        
$authDriver ConfService::getAuthDriverImpl();
        return 
$authDriver->userExists($userId);
    }
    
    function 
encodePassword($pass){
        return 
md5($pass);
    }
    
    function 
checkPassword($userId$userPass$cookieString false$returnSeed "")
    {
        if(
$userId == "guest") return true;        
        
$authDriver ConfService::getAuthDriverImpl();
        if(
$cookieString){        
            
$confDriver ConfService::getConfStorageImpl();
            
$userObject $confDriver->createUserObject($userId);    
            
$userCookieString $userObject->getCookieString();
            return (
$userCookieString == $userPass);
        }        
        
$seed $authDriver->getSeed(false);
        if(
$seed != $returnSeed) return false;                    
        return 
$authDriver->checkPassword($userId$userPass$returnSeed);
    }
    
    function 
updatePassword($userId$userPass)
    {
        
$authDriver ConfService::getAuthDriverImpl();
        
$authDriver->changePassword($userId$userPass);
        
AJXP_Logger::logAction("Update Password", array("user_id"=>$userId));
        return 
true;
    }
    
    function 
createUser($userId$userPass$isAdmin=false)
    {
        
$authDriver ConfService::getAuthDriverImpl();
        
$confDriver ConfService::getConfStorageImpl();
        
$authDriver->createUser($userId$userPass);
        if(
$isAdmin){
            
$user $confDriver->createUserObject($userId);
            
$user->setAdmin(true);            
            
$user->save();
        }
        
AJXP_Logger::logAction("Create User", array("user_id"=>$userId));
        return 
null;
    }
    
    function 
countAdminUsers(){
        
$auth ConfService::getAuthDriverImpl();    
        
$confDriver ConfService::getConfStorageImpl();
        
$count 0;
        
$users $auth->listUsers();
        foreach (
array_keys($users) as $userId){
            
$userObject $confDriver->createUserObject($userId);
            
$userObject->load();            
            if(
$userObject->isAdmin()) $count++;
        }
        if(!
$count && $auth->userExists("admin")){
            return -
1;
        }        
        return 
$count;
    }
        
    function 
deleteUser($userId)
    {
        
$authDriver ConfService::getAuthDriverImpl();
        
$confDriver ConfService::getConfStorageImpl();
        
$authDriver->deleteUser($userId);
        
AJXP_User::deleteUser($userId);
        
        
AJXP_Logger::logAction("Delete User", array("user_id"=>$userId));
        return 
true;
    }
    
    function 
listUsers()
    {
        
$authDriver ConfService::getAuthDriverImpl();        
        
$confDriver ConfService::getConfStorageImpl();
        
$allUsers = array();
        
$users $authDriver->listUsers();
        foreach (
array_keys($users) as $userId)
        {
            if((
$userId == "guest" && !ALLOW_GUEST_BROWSING) || $userId == "ajxp.admin.users") continue;
            
$allUsers[$userId] = $confDriver->createUserObject($userId);
        }
        return 
$allUsers;
    }
    
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0352 ]--