- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как вариант
эт плохой вариант, в $_GET['part_of_site'] может быть что-то вроди '../../../что_то_интересное'
дальше от настроек сервера. перехвата ошибок, их вывода зависит и т.д., но такая возможно имеется. для этого случая в целом подходит, только ещё "нежелательные" символы удалять ;)
basename();
если ищите именно идеологически-правильный вариант, то я бы делал именно так.
получаете имя акшина/контроллера, экранируете это имя, проверяете существование такого файла и инклюдите (если по-простому, без построения своих иерархий лоадеров, именно классических контроллеров и т.д.). Из основных плюсов: чистота кода и гибкая расширяемость для данного случая.
Для идеальности решения. нужно проверять имя запрашиваемого файла по массиву разрешенных, а то могут залить шелл и вызывать его при помощи данного способа. А на сам файл с массивом поставить самые жесткие права, чтобы вообще изменять ниче нельзя было(но чтобы при этом работало :) )!
В общем - всем спасибо за дискуссию! Вы натолкнули меня на нужную идею!
Если залили шелл, то запустить его уже не возникает проблем. Обчыно, конструкции типа include $_GET['page'] . '.php' опасны из-за возможности, т.н. local/remote inluding. Для защиты используем мною вышеупомянутую функцию basename.
Если залили шелл, то запустить его уже не возникает проблем. Обчыно, конструкции типа include $_GET['page'] . '.php' опасны из-за возможности, т.н. local/remote inluding. Для защиты используем мною вышеупомянутую функцию basename.
Я так и решил сделать! Вот примерный код:
Как-то так 🍿
ну и чем это лучше switch-a ?
ну и чем это лучше switch-a ?
1. Скоростью
2. Расширяемостью(планируется для создания CMS)
3. Удобностью и читаемостью кода
1. Скоростью
2. Расширяемостью(планируется для создания CMS)
3. Удобностью и читаемостью кода
1.- c какого перепугу
2 - в чем проблемма ?
3 - мне кожется со свичем намного читабельней
Cryptex судя по ответам Вы хорошо разбираетесь в стилях и div-ах, подскажите пожалуйста, у меня центральная рамка в Мазиле и Опере обнимает текст и жмёт его впарво, следовательно между рамками левой и центральной (разделами) получается не нужный отступ http://www.mainsolnce.ru/stihi-1.html , а в Explorer корректно всё. Спасибо.