Могу ли я снять защиту с одного скрипта через .htaccess, используя CodeIgniter? - PullRequest
2 голосов
/ 12 марта 2010

Я нахожусь в среде разработки, и мы используем базовую аутентификацию .htaccess / .htpasswd, чтобы скрыться. Но некоторые из моих вызовов AJAX возвращаются с ошибками проверки подлинности HTTP / 401. Могу ли я разрешить доступ только к этим конкретным URL? Я не могу легко сделать это, вставив новый .htaccess в подпапку, потому что CodeIgniter использует ReWrites.

1 Ответ

1 голос
/ 12 марта 2010

Невозможно разрешить доступ только к этим конкретным URL-адресам. К сожалению, аутентификация .htaccess и .htpasswd работает только на уровне каталога. И вы совершенно правы в отношении того, почему простое использование подкаталога не сработает - b / c CI переписывает, что происходит ПОСЛЕ того, как Apache передал управление на фронт-контроллер CodeIgniter index.php.

Самый простой вариант, если вы работаете над чем-то, что (1) вряд ли будет взломано в первую очередь, и (2) не может раскрыть конфиденциальные данные, даже если это так, - использовать безопасность через неизвестность , У вас нет ссылок на ваш сайт разработчика, добавьте директиву noindex для поисковых роботов и продолжайте свой веселый путь. Это также дает то преимущество, что вы можете тестировать версии сайта со своими коллегами и друзьями, просто сообщая им URL-адрес для перехода.

Если вас больше беспокоит безопасность, то вы, вероятно, создаете модуль авторизации для пользователей вашего сайта. В этом случае для вашей среды разработки просто вызовите этот модуль auth в конструкторе для всех ваших контроллеров и перенаправьте на страницу входа, если пользователь не вошел в систему.

Удачи!

...