|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » include, ini-файлы и безопасность - help, pls |
|
include, ini-файлы и безопасность - help, pls
|
just mar Сообщения: 3904 |
Профиль | Отправить PM | Цитировать вопрос: на PHP
- исполбзуя include, подключаю какой-нибудь ini- файл с переменными. - если не хочу значений по умолчанию, вызываю свой script.php?ini=qq.ini (т.е. передаю имя файла) Есть ли возможность сделать это безопасно? (пока получается, что ежели кто-нибудь загонит какой-нибудь файл с включением php и вызовет такой скрипт со ссылкой на него, то будет выполнен любой произвольный код в этот файл помещенный??? [s]Исправлено: mar, 18:40 15-03-2003[/s] |
|
Отправлено: 18:38, 15-03-2003 |
Unix-оид Сообщения: 141
|
Профиль | Отправить PM | Цитировать mar
почему именно так передаешь qq.ini ? не проще ли пойти путем include('qq.ini') ? или просто _подставить_ в нужном месте кусок из qq requery('qq.ini') ? Чтобы не могли просмотреть содержимое или попытаться "выполнить" , можно сделать так : <Files ~ "\.(ini|inc)$"> Order allow,deny Deny from all </Files> |
------- Отправлено: 17:11, 16-03-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать leprikon
штука в том, что этот скрипт стоит у заказчика, поэтому: - я не могу лезть в конфигурацию его сервера - у него должна быть возможность менять кое-какие детали получающихся форм => один и тот же скрипт, получая ссылки на разные ini файлы, includ-ает их в себя и генерит разные по виду и количеству полей формы. - сколько и какие ini-файлы будет делать заказчик, - я (и он пока ) - не знаю Поэтому я не могу заранее знать название файла. Это их дело. В общем, пока я сделала так (в том числе и с помощью обсуждений на phpclub и xpoint): 1) у ini - файлов расширение php 2) все они будут лежать в отдеьном каталоге 3) получаемое значение переменной обрабатывается basename() 4) к полученному после этого значению спереди принудительно добавляется имя этого каталога 5) если файл не существует, открываем default-ный ini-файл пока это все выглядит так: $work="qq/"; //рабочий каталог со всеми дополнительными включаемыми файлами $defaultini="qq.php"; // вводим значения по умолчанию // если нет вызова с именем ini-файла, ini - по-умолчанию: if (!@$ini)$ini=$defaultini; else $ini=$basename($ini); // добавляем в начало имя каталога //=> делаем бессмыссленным взлом $ini=$work. $ini; if (!file_exists($ini)) { include ($defaultini); *// включаем по умолчанию } else { include ($ini); *// включаем из ini-файла } ////////////////////////////////////////////// а вот, собственно, пример этого злосчастного ini <? $frm="mail1.php"; // файл шаблона формы ввода $to="mail@mail.ru"; // адрес отправки $subj="about mail"; // поле subject $h="<h1 align=center>Почта</h1>"; // заголовок $pref="тут текст"; // введение ?> ////////////// ну, и, соответственно, файл mail1.php, в котором будут отображаться $h и $pref, а дальше какое-то количество текстовых полей (в цикле - заказчик может менять переменную цикла) * [s]Исправлено: mar, 19:27 16-03-2003[/s] |
Отправлено: 19:19, 16-03-2003 | #3 |
Unix-оид Сообщения: 141
|
Профиль | Отправить PM | Цитировать mar
тоже выход из положения тут можно несколькими способами решить, но все они будут рядом с твоим нынешним вариантом |
------- Отправлено: 13:38, 17-03-2003 | #4 |
Новый участник Сообщения: 28
|
Профиль | Сайт | Отправить PM | Цитировать mar
Если делать на более серьезном уровне, то можна через БД инклудить нужные темплейты, точнее вывод в выгребеном из БД темплейте соответствено их таким же образом и менять. |
|
------- Отправлено: 15:01, 26-03-2003 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] помогите pls | ruslanchik | Лечение систем от вредоносных программ | 1 | 09-01-2010 12:10 | |
Include | scazy | Вебмастеру | 4 | 11-08-2005 07:15 | |
Народ, посоветуйте, pls | Dezz | Общий по FreeBSD | 7 | 25-11-2003 16:56 | |
help pls me!!! | Guest | Общий по Linux | 8 | 28-02-2003 07:12 |
|