Php Cookie Authentication + htacess при обновлении старого сайта

0

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

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

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

Параметры -Indexes

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

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

  • 0
    Просто чтобы уточнить мой оригинальный вопрос. страницы, которые я защищаю, выглядят так: <frame src = "a1.htm" name = "NAV" frameborder = "0" scrolling = "No" marginwidth = "0" marginheight = "0"> <FRAME SRC = "b1 .htm "NAME =" text "FRAMEBORDER =" 0 "marginwidth = 0 marginheight = 0> Но с сотнями (a1, b1, c1.htm и т. д.) можно защитить эту страницу, но мучительно копировать скрипт в a1, b1, c1 поэтому они не доступны напрямую
Теги:
authentication
cookies
.htaccess

1 ответ

0

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

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

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

  • 0
    Спасибо. Я знаю, как их обслуживать, просто большая боль, когда мне приходится работать с кадрами. думаю, у меня есть много копий и вставок.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню