Автор Тема: Виртуальные файлы и папки.  (Прочитано 3749 раз)

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

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« : 24 Июля 2002, 13:55:43 »
Я пишу движок в котором весь контент сайта хранится в БД, там 2 таблицы: dirs и files в files есть поле с id той папки в которой "лежит" файл, так же и с dirs. В дирс ещё есть поля с заголовком (title формируется так: Сайт :: заголовок_директории :: заголовок_другой_директории :: ... :: заголовок файла), шаблоном для этой и вложеных папок и т.д.

При запросе всех файлов с расширением html адрес переписывается в "/pages.php?запрошеный_файл" с помощью mod_rewrite. Скрипт проверяет наличие инфы о папке в таблица dirs, запоминает её заголовок, шаблон и т.д. затем тоже самое происходит и с файлом, потом используемый шаблон, заголовок сохраняются в кеш (таблица cash_paths), и при запросе того же УРЛа инфа достаются уже из кеша.

ИМХО конструкция имеет слабость, а именно: "злоумышленик" может написать "/info/about/company/абра_кадабра", в этом случае скрипт проверит наличие каждой папки в БД (а первые три там есть), а на абра_кадабре не чего не найдёт и выдаст сообщение об ошибке но скрипт схавает долю ресурсов на запросах к БД, так опасность по моему мнению заключается в том что злоумышленик может "поставить это дело на конвеер", от одного хакера сервак не упадёт, а нагрузка то прибавится.

Может быть как-то ускорить этот процес или после 3 запрошеных подряд не верных адресов блокировать его по Ip скажем на час-два?
« Последнее редактирование: 24 Июля 2002, 14:12:21 от Tronyx »
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« Ответ #1 : 24 Июля 2002, 20:33:21 »
Чё не кто не знает ??? :(
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Виртуальные файлы и папки.
« Ответ #2 : 24 Июля 2002, 20:49:00 »
Ну а что тут знать? Если злоумышленники устроят DOS-атаку, то ничто не спасет.
Цитировать
блокировать его по Ip скажем на час-два

Если хакер не меняет периодически свой IP при атаке, то это уже не хакер.
Можно попытаться нагородить огород, только это приведет к еще большей нагрузке на сервер.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« Ответ #3 : 24 Июля 2002, 21:39:34 »
GotZfild хочешь сказать не надо блокировать по ip вообще?
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Виртуальные файлы и папки.
« Ответ #4 : 24 Июля 2002, 21:42:44 »
Tronyx
Я хочу сказать, что блокировка бесполезна.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« Ответ #5 : 24 Июля 2002, 21:51:56 »
GotZfild а что тогда делать для хоть какой-то защиты?
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Виртуальные файлы и папки.
« Ответ #6 : 24 Июля 2002, 21:58:58 »
Если есть возможность, оптимизируй скрипт (особенно в отношении БД), иначе расслабься.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
Виртуальные файлы и папки.
« Ответ #7 : 26 Июля 2002, 10:58:39 »
ага...
я так понимаю что делать надо ОДИН запрос но с поиском по ВСЕМ директориям...
допустим
SELECT * FROM dir WHERE dir = dir1 AND dir = dir2 AND dir = dir3
бла бла бла...
в итоге у тебя только один запрос...

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« Ответ #8 : 26 Июля 2002, 11:02:14 »
Tronyx
Можно сделать иначе:
mysql грубо раз в 15-20 минут делает select distinkt и генерит php-исклюд ввиде допутим массива

и когда чел вводит папку просто делаешь array_search
если есть то пусть работает дальше нету - exit();
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Виртуальные файлы и папки.
« Ответ #9 : 26 Июля 2002, 11:34:20 »
Цитировать
select distinkt

А это что?
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

 

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