Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по безопасности 
V
    Опции темы
sandland
Дата 1.12.2008, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: 1
Всего: 1



Добрый день. Ситуация так. имеется конфигурациооный файл config.php , к примеру с таким кодом: 
Код

$dir="www/lalala";
$user="root";
$pass="12345";
$db="test";
$host="localhost";


вопрос первый: Какова вероятность того. что сторонний пользователь сайта сможет узнать значение этих переменных? -ну скажем, при условии того, что он знает имена этих переменных и имя файла, но доступа, понятное дело, к файлам у него нету.
Если вероятность >0 то подскажите пожалуйста способы защиты, ну и вообще буду рад услвшать любые советы.

вопрос 2-ой.
Предположим я добавил в мой файл соединение с бд: 
Код

$dir="www/lalala";
$user="root";
$pass="12345";
$db="test";
$host="localhost";
$link=mysql_connect($host,$user,$pass);
mysql_select_db($db);


то есть по сути имеется файл соединения с бд, что теперь может сделать злоумышленник? по логике он может из-за этого скачать дамп всей моей бд?
Ну и опять же, буду рад вашим советам по-поводу того. где лучше устанавливать соединение. непосредственно в нужном файле. через класс Connection , к примеру, или же выносить соединение в отдельный файл, соблюдая какие-то меры защиты, и есть ли они вообще?

Это сообщение отредактировал(а) sandland - 1.12.2008, 20:18
PM MAIL WWW ICQ Jabber   Вверх
Валерия
Дата 1.12.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Безопасно и то и другое.
Ну запустив второй файл, он сделает коннект... И всё...
Конешно, если ддосить именно этот файл, то будет не сладко мускулу)
Можно 
Код

$link=mysql_connect($host,$user,$pass);
mysql_select_db($db);

вынести в функцию
Код

function connect(){
  $link=mysql_connect($host,$user,$pass);
  mysql_select_db($db);
  return $link;
}

И тогда такого не будет smile
PM MAIL   Вверх
CruorVult
Дата 1.12.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



Зайди http://ua.php.net/mysql_real_escape_string, это очень полезная функция против взлома 
PM MAIL Skype   Вверх
sandland
Дата 1.12.2008, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: 1
Всего: 1



спасибо. я знаю это ф-цию, естественное ее использую.
Валерия, а права досутпа на php - файлы повлияют? то если я на этот конфиг 777 выставлю?
PM MAIL WWW ICQ Jabber   Вверх
Dima 2015
Дата 2.12.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



sandland, я бы вот еще чего добавил бы.

Есть общепринятая практика, держать все настройки, конфиги и прочее "ВЫШЕ корня". Т.е. в корневом каталоге сайта (который выдается $_SERVER['DOCUMENT_ROOT'], обычно он выглядит как нечто вроде /home/uXXXX/domain.com/www/ или/home/uXXXX/domain.com/html/) должны быть только исполняемые скрипты, т.е. те, что непосредственно открывает юзер.

Все настройки подключения к БД, классы, кеш-файлы, лог-файлы и прочая прочая, что юзеру непосредственно не надо, должно располагаться выше этого каталога, например для приведенных путей так: 

/home/uXXXX/domain.com/logs/ - путь для хранения логов
/home/uXXXX/domain.com/parameters/ - путь для хранения файлов с параметрами (в т.ч. и константы подключения к БД)
/home/uXXXX/domain.com/classes/ - путь для хранения файлов с классами
/home/uXXXX/domain.com/db/ - путь для хранения файлов работы с БД
/home/uXXXX/domain.com/www/ - путь для исполняемых скриптов

И вот тогда, например есть у тебя исполняемый скрипт index.php в корневом каталоге, ты делаешь внутри него инклуд файла коннекта к БД, который лежит в директории /home/uXXXX/domain.com/db/:

include($_SERVER['DOCUMENT_ROOT'] . '/../db/db_connect.php')

Такая компановка гарантирует, что пользователь сайта не получит доступа к файлу настроек БД db_connect.php из "веб-пространства", тобишь из интернета он его вообще не откроет.
PM MAIL ICQ   Вверх
Валерия
Дата 2.12.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Цитата(sandland @  1.12.2008,  22:58 Найти цитируемый пост)
Валерия, а права досутпа на php - файлы повлияют? то если я на этот конфиг 777 выставлю?

Не повлияют никак) В винде, например, всегда "777" права smile
PM MAIL   Вверх
sandland
Дата 3.12.2008, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: 1
Всего: 1



Валерия , понял, спасибо
Dima 2015 , так и сделаю, благодарю.
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.