Четверг, 2025-01-23, 8:43 AM
Статьи - PHP
Приветствую Вас Гость | RSS
Главная страница Каталог статей Регистрация Вход
Меню сайта

Категории каталога
PHP [158]
Статьи по PHP

Наш опрос
Выбираем ОС
Всего ответов: 192

Начало » Статьи » PHP » PHP

Безопасность PHP+MYSQL+Apache
Итак был вопрос
.........
Есть у нас php скрипт, который обращается к mysql БД.
Если мы впишем в скрипт, условно говоря, root mysql'я,
то можем ли мы рассчитывать на безопасность действий (адекватность
и однозначность написанных операций) с БД?
Можем ли мы рассчитывать на безопасное хранение пароля в пхп-скрипте?
........

1) Лучше создать еще одного пользователя в базе mysql и урезать ему права.. -

2) Все поключения к базе из php осуществлять через так называемые
конфигурационные файлы. Отсюдова подробнее.

Итак для доступа в mysql через php создаем файлы дополнительные
(конфигурационные) файлы
setup.php & config.php

file setup.php
<?
$dbname="dbname";
$dbuser="dbuser";
$dbpass="dbuserpass";
$dbserver="dbserver";
$adminmail="твое\@мыло";
?>
enf of file
далее создаем файл config.php
file config.php
<?
function db_err($handle, $message) {
printf("%s: %d: %s\n", $message,
mysql_errno($handle),mysql_error($handle));
die();
}

function db_connect() {

global $dbname,$dbuser,$dbpass,$dbserver;
$dbh = mysql_connect($dbserver,$dbuser,$dbpass);
if(!$dbh) { db_err($dbh, "mysql_connect"); }
$res = mysql_select_db($dbname);
if(!$res) { db_err($dbh, "mysql_select_db"); }
return($dbh);

}

?>
end of file

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

<?
require("ваш_путь/setup.php");
require("ваш_путь/config.php");
?>

и в конечном итоге получаем красивый и вполне безопастный код.

$dbc=db_connect();
$query = "select .................";
$result = mysql_query($query,$dbc);

--------------------------------------------------------------------------------

Как защитить /etc/passwd от просмотра?
phpclub

В конфигурационном файле сервера apache, в контексте соответствующей
директивы <directory> указать(или в .htaccess):

php_admin_value open_basedir /home/null/www/htdocs
php_admin_value doc_root /home/null/www/htdocs

--------------------------------------------------------------------------------

инклуды (.inc)
antoxa

часто приходится хранить всякие везде-используемые данные/функции в отдельных
файлах, и потом подключать,
используя include[_once]/require[_once].

но эти файлы обычно не парсятся сервером, т.е. их можно смотреть через
браузер, этого мы и хотим избежать.
давать таким файлам расширение .php не очень правильно, т.к. их можно вызвать
через браузер, и,
хотя мы и не увидим содержимое, но, наверняка, у нас начнут вылазить
какие-либо ошибки php,
т.к. код внутри файлов обычно расчитан на исполнеие в определенном
окружении(наличие коннекта к базе/
чтение файлов/определенные значения констант/переменных).

есть 2 выхода по сути похожих
1. поместить все .inc файлы за пределами document_root apache
2. написать .htaccess чтобы запретить доступ ко всем файлам с определенными
расширениями
Пример.
<filesmatch "\.(inc|sql|...другие расширения...)$">
order deny,allow
# запретить доступ отовсюду
deny from all
#разрешить доступ с вашего ip(если он у вас, конечно, статический)
allow from <ваш ip>
</filesmatch>

Категория: PHP | Добавил: webmaster (2006-12-06)
Просмотров: 402 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Сервисы

Поиск по каталогу

Друзья сайта

| Ссылки 1 | Ссылки 2 | Ссылки 3 |
www.webmaster.clan.su Каталог+поисковая система be number one Bakililar.az Top Sites Сервис авто регистрации в
каталогах, статьи про раскрутку сайтов, web дизайн, flash, 
photoshop, хостинг, рассылки; форум, баннерная сеть, каталог 
сайтов, услуги продвижения и рекламы сайтов Скрипт для определения тиц (Яндекс CY: индекс цитирования). Определение pr (Google Pagerank). Проверить тиц pr сайта.
Copyright WebMaster.Clan © 2006 Бесплатный хостинг uCoz