Назад | Перейти на главную страницу

Как запретить htaccess запрашивать аутентификацию для косвенного доступа к файлу через ajax?

Во-первых, моя терминология, вероятно, неверна, но когда я слышу «прямой доступ», я думаю, что кто-то имеет в виду, что кто-то имеет права на чтение файла по URL-адресу. Правильно ли я понимаю, что означает «прямой доступ»?

Я использую htaccess, чтобы предотвратить прямой доступ к следующему каталогу (каталог http DocumentRoot /var/www/public_html)

<Directory /var/www/public_html/indirect_access/>
        AuthType Basic
        AuthName "Restricted Access"
        AuthUserFile /passwords/me
        Require user me
</Directory>

У меня есть два файла

/var/www/public_html/indirect_access/indirect.php

<?php echo 'hi'; ?>

/var/www/public_html/direct.php

<?php include('indirect_access/indirect.php'); ?>

Когда кто-то переходит на www.mysite.com/direct.php, браузер печатает «привет». Когда кто-то заходит на www.mysite.com/indirect_access/indirect.php, ему предлагается ввести имя пользователя и пароль.

Однако, когда я изменяю содержимое /var/www/public_html/direct.php чтобы включить запрос AJAX, например

$.ajax({
    url: "indirect_access/indirect.php",
    type: "GET",
    dataType: 'html',              
    success: function(data){      
        $("body").prepend(data);
    },
});

а затем я пытаюсь получить доступ к www.mysite.com/direct.php, мне предлагается ввести имя пользователя / пароль.

Можно ли запретить htpasswd запрашивать аутентификацию для косвенного доступа к файлу через ajax?