Код .htaccess, чтобы заблокировать весь прямой доступ, но разрешить внутренний доступ через запросы include / cron_jobs / ajax - PullRequest
0 голосов
/ 24 февраля 2020

У меня ниже структура папок (для лучшего понимания)

app
  modules
    -.htaccess
    -login.php
    -contact.php
    -email.php
  cron_jobs
    -.htaccess
    -.autoBackupDB.php
    -.autoflushTmpDirectory.php
  tmp
    -.htaccess
    <some tmp files and folders created>

Ниже приведен код .htaccess, который я использую

# Disable directory browsing
Options All -Indexes

Order deny,allow
Deny from all

Что я пытаясь достичь?

Я хочу заблокировать все запросы к этим папкам через прямой URL-адрес или прямой вызов каким-либо другим способом, что я могу сделать с помощью приведенного выше кода .htaccess, но проблема возникает когда я выполняю задания cron или делаю ajax запросов. Я хочу, чтобы доступ к содержимому папок осуществлялся только по внутренним запросам, таким как cron_jobs, request made by ajax или include("") rest. Любой доступ к файлу должен быть заблокирован.

Появляется ошибка 403 / 404 иногда, что делает его недоступным.

Любой может помочь мне, зная, где я иду не так, или направить меня с обновленным решением.

1 Ответ

1 голос
/ 24 февраля 2020

Существует 2 варианта заданий cron: доступ по командной строке и по запросу http / https. Этот первый не зависит от настроек веб-сервера. Второй можно разрешить, изменив правила:

Order deny,allow
Allow from IP_OF_CRON_SERVER
Deny from all

Доступ по include или require не затрагивается вообще.

Ajax вызовы являются запросами http / https , Так что нет разницы. Обычный способ - разрешить его настройкой сервера (.htaccess) и проверить права по PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...