| Server IP : 172.67.191.97 / Your IP : 104.23.243.196 Web Server : Apache/2.4.63 (Ubuntu) System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.4.5 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/icaoc/administrator/components/com_sppagebuilder/editor/helpers/ |
Upload File : |
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2025 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\Path;
/** No direct access */
defined('_JEXEC') or die('Restricted access');
final class SecurityHelper
{
public static function isActionableFolder(string $folder)
{
$folder = strtolower(Path::clean($folder));
$parts = explode(DIRECTORY_SEPARATOR, $folder);
$parts = array_filter($parts, function ($part)
{
return !empty($part);
});
$parts = array_values($parts);
if (empty($parts) || !is_array($parts) || count($parts) < 2 || $parts[0] !== 'images')
{
return false;
}
return true;
}
public static function isGetablePath(string $path)
{
$path = strtolower(Path::clean($path));
$pathArray = explode(DIRECTORY_SEPARATOR, $path);
$pathArray = array_filter($pathArray, function ($part)
{
return !empty($part);
});
$pathArray = array_values($pathArray);
if (empty($pathArray) || !is_array($pathArray) || count($pathArray) < 1 || $pathArray[0] !== 'images')
{
return false;
}
return true;
}
}