/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Security
NameSizeModeActions
OAuth2/-0755rm
OpenSsl/-0755rm
FolderGuardInterface.php15470644editdlrm
GeneralConfiguration.php23330644editdlrm
Hashing.php12560644editdlrm
HtaccessFolderGuard.php25380644editdlrm
PasswordGenerator.php31270644editdlrm
PasswordPolicyConfiguration.php42560644editdlrm
TokenAuthenticator.php44290644editdlrm
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Security/HtaccessFolderGuard.php (2538B)
* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Security; use PrestaShop\PrestaShop\Core\Exception\FileNotFoundException; use PrestaShop\PrestaShop\Core\Exception\IOException; /** * Class HtaccessFolderGuard protects a designated folder by inserting an htaccess file in it * which prevents access from an external call. */ class HtaccessFolderGuard implements FolderGuardInterface { /** * @var string */ private $htaccessContent; /** * @param string $htaccessTemplatePath * * @throws FileNotFoundException */ public function __construct($htaccessTemplatePath) { if (!file_exists($htaccessTemplatePath)) { throw new FileNotFoundException(sprintf('Could not find file %s', $htaccessTemplatePath)); } $this->htaccessContent = file_get_contents($htaccessTemplatePath); } /** * {@inheritdoc} */ public function protectFolder($folderPath) { if (!is_dir($folderPath)) { throw new FileNotFoundException(sprintf('Cannot protect nonexistent folder %s', $folderPath)); } $htaccessPath = $folderPath . DIRECTORY_SEPARATOR . '.htaccess'; if (!file_exists($htaccessPath)) { if (!is_writable($folderPath)) { throw new IOException('Could not write into module folder', 0, null, $folderPath); } file_put_contents($htaccessPath, $this->htaccessContent); } } }