Php Cookie Authentication + htacess при обновлении старого сайта - PullRequest
0 голосов
/ 14 сентября 2010

Я обновляю старый сайт моего отца.99% завершено.У него есть онлайн-курс обучения, который был сделан с использованием фреймов и более 1500 изображений / страниц.Я создал скрипт входа в систему на основе файлов cookie, который использует mysql для отслеживания пользователей и действительности cookie.На каждой «защищенной» странице появляется мой сценарий, cookie переписывается специальным «кодом», и код также записывается на мой сервер MySQL.Снова при загрузке страницы два кода проверяют друг друга, и если cookie является недействительным, регистрирует их.

Это работает очень хорошо.Проблема в том, что из-за структуры курса, основанной на фреймах, мне пришлось бы размещать указанный скрипт на всех 1500+ страницах, а не только на 10 «корневых» страницах, которые объединяют все фреймы в одну страницу.Основное содержание защищено моим сценарием, но люди могут получить доступ к частям (изображениям, видео) курса через URL.

Я использую это в своем файле htacess:

Параметры -Индексы

RewriteEngine On RewriteBase / RewriteCond% {HTTP_COOKIE}! Logincookiename = [NC] RewriteRule. * http://www.somesite [L]

Чтобы заблокировать людей, у которых нет cookie, но этоне проверяет, является ли cookie "реальным".Как я могу сделать это лучше?Может быть, проверить на наличие переменной php, которая будет создана только при «полной» загрузке страницы ... не знаю, как получить htacess для чтения указанной переменной tho.Спасибо за любую помощь.

1 Ответ

0 голосов
/ 14 сентября 2010

На стороне Apache мало что можно сделать, чтобы справиться с внутренностями PHP. Как вы сказали, вы можете проверить наличие cookie и его содержимое, но Apache не может использовать этот cookie для просмотра файла сеанса PHP.

Если вы не хотите добавлять правильный код обработки сеанса / разрешений в каждый скрипт вручную, вы можете воспользоваться некоторыми из них с помощью функции php "auto_prepend_file" , которая заставит PHP загрузить указанную файл ДО содержимого самого скрипта. Вы можете добавить туда проверочные проверки, и это будет действовать так, как если бы вы вручную включали код в каждый файл.

Что касается изображений / видео, то их нужно защищать другим способом. На SO много дискуссий о том, как безопасно обслуживать файлы через PHP.

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