Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » include, ini-файлы и безопасность - help, pls

Ответить
Настройки темы
include, ini-файлы и безопасность - help, pls
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


mar

почему именно так передаешь qq.ini ?

не проще ли пойти путем include('qq.ini') ?
или просто _подставить_ в нужном месте кусок из qq
requery('qq.ini') ?

Чтобы не могли просмотреть содержимое или попытаться "выполнить" , можно сделать так :

<Files ~ "\.(ini|inc)$">
Order allow,deny
Deny from all
</Files>

-------
[b] Угадывай[b]


Отправлено: 17:11, 16-03-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


mar

тоже выход из положения

тут можно несколькими способами решить, но все они будут рядом с твоим нынешним вариантом

-------
[b] Угадывай[b]


Отправлено: 13:38, 17-03-2003 | #4


Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


mar
Если делать на более серьезном уровне, то можна через БД инклудить нужные темплейты, точнее вывод в выгребеном из БД темплейте соответствено их таким же образом и менять.

-------
advocat - это не професия, а диагноз...[www.php.net.ua]


Отправлено: 15:01, 26-03-2003 | #5



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » include, ini-файлы и безопасность - help, pls

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] помогите 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




 
Переход