Автор Тема: Защита файлов и авторизация  (Прочитано 17640 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vicky2001

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« : 29 Ноября 2002, 00:52:06 »
Всем привет!

У меня вопрос следующего плана:

Есть сайт. На нем реализован простенький Content-Manager с доступом через броузер - позволяет публиковать новости, админить каталог и пр. Все это удовольствие защищено через .htaccess и локальный (для сайта, ессесено) .htpasswd.

К этому менеджеру нужно прикрутить зону с авторизацией для клиентов, где планируется разместить 2 файловых архива.

Авторизация как таковая и сами механизмы подгрузки и скачки файлов проблем не вызывают. Проблема вот в чем - файлы должны лежать не в БД, а просто так "в папке;))" и файловый скрипт по сути должен быть редиректом на них.

Как их защищать, если умный юзер в лоб пропишет путь?

Если авторизовываться через .htaccess и .htpasswd, то тот же самый умный юзер может случаем влезть в менеджер и погадить инфу на сайте.

Чего бы мне хотелось?! При обращении к файлу в закрытой папке вызывается скрипт проверки доступа (ну, допустим, пишу авторизацию на куках), если есть она - welcome, качайте!, нет - вперед на регистрацию. А вот как написать такую хотелку...

У кого какие мысли на этот счет?
Vicky

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Защита файлов и авторизация
« Ответ #1 : 29 Ноября 2002, 02:39:27 »
то что пришло сразу в голову: написать скриптик, который проверяет связку логин-пароль: выдаёт листинг соответствующего каталога, в виде ссылок, жамкнул юзверь по ссылке (ссылка ведёт на скрипт), скрипт чиатет файл и выдаёт в браузер. А сама папка защищена правами. Чтоб читать мог только скрипт.
Ну к чему все это, лучше бы водки выпили...

Оффлайн vicky2001

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #2 : 29 Ноября 2002, 03:05:27 »
Сама сейчас над такой схемой мыслю :)

Сразу два вопроса:

1) Как этот самый файл юзеру вылить программно?
Если можно кусок кода :) но и за теорию буду очень признательна.

2) Какие права надо поставить папке и надо ли в нее класть .htaccess?

Спасибо за ответ!
Vicky

Оффлайн vicky2001

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #3 : 29 Ноября 2002, 03:13:06 »
Вопрос №1 снялся сам собой методом тыка ;)

else {
   open(SRC,"   binmode(SRC);
   while(my $a = ){
      print $a;
   }
}

Верно?
Vicky

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #4 : 29 Ноября 2002, 08:48:47 »
Цитировать
Если авторизовываться через .htaccess и .htpasswd, то тот же самый умный юзер может случаем влезть в менеджер и погадить инфу на сайте.

Не сможет. Здесь не нужны никакие скрипты - все делается на уровне сервера (.htaccess).
Цитировать
При обращении к файлу в закрытой папке вызывается скрипт проверки доступа
Делаешь, например, свой обработчик... (тоже в .htaccess).

Переехали в "Веб Сервера".
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #5 : 29 Ноября 2002, 11:09:27 »
Цитировать
свой обработчик

Описан в мануале.
Вообще почитай РНР ман. Тот пример, что там дается можно портировать на любой удобный тебе язык.
Потом, если ты делаешь авторизацию через .htaccess то набиванием прямой ссылки авторизацию все равно не обойти.
AS IS...

Оффлайн Tarasenko

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #6 : 29 Ноября 2002, 12:30:57 »
Народ, ну сколько можно твердить, что базовая авторицация - легко взламывается? Если нужны доказательства (теоретические) - могу дать. Используйте динамические сессии. Далее проверяйте пользователя, и присвоенные ему права. И основываясь на них запускайте тот скрипт, который позволяет выполнять то, что позволено этому пользователю.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #7 : 29 Ноября 2002, 12:49:12 »
Tarasenko
Давай
AS IS...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Защита файлов и авторизация
« Ответ #8 : 29 Ноября 2002, 14:03:13 »
Ок. Я тоже с удовольствием послушаю.
Только если они не совсем "теоретические".
The documentations is your friend

Оффлайн Tarasenko

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #9 : 29 Ноября 2002, 14:13:40 »
Самое безобидное:
(одна и з моих статей...)
Сегодня речь пойдет о системах авторизации. Данная тема очень и очень обширна
по своей сути, потому я постоянно буду ее касаться в последующих рассылках.
Сегодня рассмотрим базовую авторизацию.
Есть 2 способа ее создания:
1)В конфигах web-сервера приписывается описание папки, с присвоением права доступа
определенному классу пользователей. Так же можно указать диапазон ip адресов,
по которым авторизация будет разрешена. Это наиболее правильный способ защиты.
Хотя и он не лишен своего недостатка, о котором пойдет речь позже.
2)В саму защищаемую папку залить файлы с описанием прав доступа к папке и пароля.
Я крайне не рекомендую этот способ. Хакер может попробовать эти файлы прочитать,
использую стандартные уязвимости cgi скриптов вашего сайта. И хоть эти пароли
и хранятся в закриптованном виде, зашифровать их не представляется большой проблемой
ибо все стандартные методы криптования уже известны.
Но эти файлы еще надо хакеру прочитать, что достаточно сложная задача.
Есть гораздо более простые способы.
Наибольшую опасность представляет собой глюк большинства всех известных браузеров.
Немного теории о базовой авторизации. При попытке запросить файл из защищенной
папки, сервер отсылает запрос браузеру в виде проверки логина и пароля, получив
данные в ответ и соответствующим образом обработав их сервер пускает пользователя
в папку. Однако вы не задавались вопросом, почему при повторном запросе из того-же
окна обозревателя сервер не спрашивает пароль? Он запомнил ваши данные в виде
ip? Нет.
Браузер при всех последующих попытках запросить документы передает в HTTP протоколе
ваш логин и пароль. Вы не обращали внимание, что если вы, не перегружая вашу
программу-проводник по сети, после администрирования вы посетите несколько сайтов
и вернетесь обратно в администрилку – то ваши логин и пароль спрашивать не будут.
Все хорошо, если бы логин и пароль передавались ли только тому серверу, который
собственно и проверил их. Но так не происходит. Эти данные передаются всегда.
А это означает что злоумышленник, при наличии собственного виртуального web-сервера
может перехватить эти данные. Для того что бы получить логин ничего не надо.
Он передается в переменных окружения HTTP протокола. С паролем дело обстоит сложнее,
но не намного. Для получения пароля достаточно написать небольшой модуль н-р
для моего любимого серверного языка Perl. С помощью его можно также и вести лог
и записью туда полученного логина, пароли и ссылающейся страницы (для того что
бы знать где эта администрилка находиться). Теперь представьте ситуацию – вы
модератор на каком-то сайте статей. В теле статьи вы увидели ссылку. Перейдя
не нее вы тем самым рассказали все необходимое хакеру о себе. При наличии такой
вещи у вас как поддержка html при добавлении статьи вам и переходить по ссылке
не надо будет, автор может поставить маленькие iframe или java script. Вы ничего
так и не узнаете. Данная уязвимость присутствует при всех видах базовой авторизации.
Потому совет. При выходе из администрилки – не забудьте перегрузить ваш браузер.
Это спасет вас от непредсказуемых последствий.

С уважением и всегда ваш, Тарасенко Сергей

Есть более опасные вещи. Но их я говорить не буду. Зачем?

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Защита файлов и авторизация
« Ответ #10 : 29 Ноября 2002, 14:40:33 »
Цитировать

Есть более опасные вещи. Но их я говорить не буду. Зачем?


Это очень правильно. А то уже некоторые стали спрашиватьть, "как чужие куки прочитать", "как страничку насильноо стартовой сделать"...
•••Jah\'d never let us down!•••

Оффлайн Tarasenko

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #11 : 29 Ноября 2002, 14:54:59 »
Я свои данные не скрываю. Потому что мне ьоятся нечего. Я ни кому не пакостил. А знания - это знания. Одно только плохо. Народ задолбал, не поможнешь отмстить, не скажешь как, не ...
Говорю сразу! НЕТ!

Оффлайн Tarasenko

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита файлов и авторизация
« Ответ #12 : 29 Ноября 2002, 15:11:16 »
Xander, на то есть специализированные сайты. Сегодня сктати оофициально напечатали то, что я узнал год назад...
[moderated]

Модераторы, если считаете что эта ссылка черезчур откровенна - то можите ее удалить!
[off]
удалил
[/off]
« Последнее редактирование: 29 Ноября 2002, 18:02:42 от ThE0ReTiC »

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Защита файлов и авторизация
« Ответ #13 : 29 Ноября 2002, 15:35:26 »
Tarasenko

Я что-то не понимаю что это дает.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Защита файлов и авторизация
« Ответ #14 : 29 Ноября 2002, 15:43:54 »
Цитировать
Браузер при всех последующих попытках запросить документы передает в HTTP протоколе
ваш логин и пароль.Потому совет. При выходе из администрилки – не забудьте перегрузить ваш браузер.
Это спасет вас от непредсказуемых последствий.

Страшилка.
А если серьезно, то юзайте ssl и будете спать спокойнее.
А если еще серьезнее: я тебе могу сюда выложить сеанс (без поднятого ssl)  и ты мне оттуда достанешь пароль и логин. Ок? В качестве эксперимента. Или просто хешированый хз каким образом пароль сначала?
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28