|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
|
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
||||
|
||||
Staind |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 175 Регистрация: 17.12.2007 Где: Планета сокровищ Репутация: нет Всего: 3 |
По поводу бага "Ошибка №1: include-баг".
У меня так сделано: Меню сайта (с шапкой) в отдельном файле menu.php Этот файлик прицепляется к каждой нужной страничке вот таким образом: "include "menu.php";". А вот теперь вопрос: "Так оставить, или лучше записать так include("./".basename("menu.php")); ? --------------------
Ничто так не раздражает человека, как просьба успокоиться |
|||
|
||||
Alx |
|
|||
Ajaxy Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
Staind, послушай, тут имелось ввиду использование basename для того что обезопасить данные, пришедшие от пользователя, потому что злоумышленник может составить запрос так, чтобы изменилась директория расположения подключаемого файла, что позволит ему подключить любой файл на сервере, чего нам совершенно не нужно. в данном случае ты сам выбираешь какой файл подключать, поэтому максимум что у тебя получилось - это защита от самого себя.
|
|||
|
||||
Staind |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 175 Регистрация: 17.12.2007 Где: Планета сокровищ Репутация: нет Всего: 3 |
Все. Еще подумав 10 минут над багом понял, что это не то, что мне нужно, спасибо Alx за ответ. Я просто новичек
--------------------
Ничто так не раздражает человека, как просьба успокоиться |
|||
|
||||
Alx |
|
|||
Ajaxy Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
мне вот интересно узнать, почему в последнее время все запретили подгружать аватарки, которые выдают скрипты?
даж на винграде так.. хотя у меня mod_rewrite avatar.gif -> avatar.php занял минуту... но на многих новых сайтах вообще разрешили загружать картинки только с локалки.. |
|||
|
||||
bars80080 |
|
||||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
по этому поводу есть замечательная идея: обрабатывать только ожидаемые данные, то есть вместо $_GET['page'] = 'next_page.php'; использовать $_GET['page'] = 12; и далее из БД или просто из файла или написанного внутри того же скрипта проверять соответствие:
всё |
||||
|
|||||
Feldmarschall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Код $page=basename($_GET['page']) на порядок короче твоего. Причем не увеличивается(!) с увеличением количества страниц.
|
|||
|
||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
не, я вообще с глобальной мыслью о централизации
то есть, если меню загнать в БД, чтоб легко было править и т.п.... тогда и проверять надо исходя из (есть ли такая страница) то есть чтобы вообще никаких сюрпризов |
|||
|
||||
Feldmarschall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Лично я - так вообще не сторонник инклюдить переменные PHP скрипты.
Кабы не классическая реализация ЧПУ, когда все запросы идут на один индекс, который уже инклюдит в себя нужные модули - так и вообще бы никогда ничего не инклюдил с переменным именем, а только конфиги. Твой подход тоже неплох, за исключением того, что в базу придется лезть перед тем, как сторонний модуль инклюдить. По мне - так проверил нужный файл на наличие - та заинклюдил. Вот и все проверки. Но спорить о том, какой способ лучше - не стану. Все хороши. |
|||
|
||||
bars80080 |
|
||||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
ой, вспомнил,
к вопросу о копировании файлов, допустим
то есть мы копируем чужой файл, разбираемся с методикой его поведения, достаём секретный сведения, скажем адрес на библиотеку функций занимающихся паролизацией и шифрованием, генерацией хэша и т.п., кот. тоже копируем конечно, это устраняется вынесением особо важных файлов за дерево каталогов, кстати, туда нет возможности залезть чужому? задавать конкретный адрес в передаваемых параметрах ( index.php?page=lock.php ) - дополнительный шанс хакеру чем меньше информации о структуре сайта, тем сложнее будет его сломать
|
||||
|
|||||
Feldmarschall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
||||
|
||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
стёр бы, если бы не поигрался с несколькими сайтами на вшивость
оказывается очень удобно коллекции фотографий таким образом вытягивать |
|||
|
||||
Feldmarschall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
при чем здесь коллекции фотографий? ты пишешь не про фотографии, а про index.php
Добавлено @ 16:36
слушай, не в обиду, перечитай, плиз, http://phpfaq.ru/na_tanke Это сообщение отредактировал(а) Feldmarschall - 18.12.2007, 16:36 |
|||
|
||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
если отсылаешь на танк, то конкретней куда (дуло, башня, гусеница?),
если конкретно index.php, то и его тоже копировал, просто я же не хакер долбанный какой-нибудь, лазить по чужим файлам так кое-где использовал для получения толпы фоток |
|||
|
||||
Feldmarschall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
|
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Избранное | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |