Следующая статья: Как передать значение кнопки с формы?
php, mysql, apache, конфигурирование, файл настроек, config file
|
Содержание
Вопросы
Итак были вопросы:
- Есть у нас php скрипт, который обращается к MySQL базы данных.
- Если мы впишем в скрипт, условно говоря, root mysql, то можем ли мы рассчитывать на безопасность действий (адекватность и однозначность написанных операций) с базой данных?
- Можем ли мы рассчитывать на безопасное хранение пароля в php - скрипте?
1. Лучше создать еще одного пользователя в базе mysql и урезать ему права.
2. Все поключения к базе из PHP осуществлять через так называемые конфигурационные файлы. Отсюдова подробнее.
Итак для доступа в MySQL через PHP создаем файлы дополнительные (конфигурационные) файлы setup.php and config.php
file: setup.php
<?php $sdd_db_host='db_host'; $sdd_db_name='db_name'; $sdd_db_user='db_user'; $sdd_db_pass='db_pass'; $admin_mail='твое@мыло'; ?>
Правильное создание config.php
Далее создаем файл config.php
File config.php
<?php
function db_err($handle, $message)
{ echo "%s: %d: %sn", $message, mysql_errno($handle), mysql_error($handle);
die();
}
function db_connect()
{ global $sdd_db_name,$sdd_db_user,$sdd_db_pass,$sdd_db_host;
$dbh=mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);
if (!$dbh) { db_err($dbh,'mysql_connect'); }
$res=mysql_select_db($sdd_db_name);
if (!$res) { db_err($dbh,'mysql_select_db'); }
return($dbh);
}
?>
Проверка настроек
Потом выносим эти файлы за пределы сервера, и наконец подключаем эти файлы в тех файлах где будем работать с базой.
<?php
require('ваш_путь/setup.php');
require('ваш_путь/config.php');
?>
и в конечном итоге получаем красивый и вполне безопастный код.
$dbc=db_connect(); $sql='SELECT …'; $r=mysql_query($sql,$dbc);