Шаги к безопасности в PHP програмировании.

www.karman.com.ua
портал о хостинге в Украине
Хостинг + Украина = Karman.com.ua

Сайт от А до Б

/

Основы сайта

/

Интересные скрипты

/

Изучаем PHP

/

Как заработать на сайте

/

Раскрутка сайта

/

CMS


Шаги к безопасности в PHP програмировании. 

Еще по теме:
  Код PHP в html и закачка на хостинг
  безопасность и ведение логов
  Написание автоматических тестов и среда PHPUnit
  Хостинг с PHP и MySQL. Аренда VPS
  Тех. поддержка Hvostingа ЛУЧШАЯ!!! Не верите? А кому ещё хостер правил PHP скрипты?!
  Где посмотреть настройки PHP.ini
  PHP и HTML
  безопасность сайта!

Как безопасно обращаться к базе данных из PHP скрипта:

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);


Как правильно и безопасно использовать инклуды.

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

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

есть 2 выхода по сути похожих
1. поместить все .inc файлы за пределами document_root apache
2. написать .htaccess чтобы запретить доступ ко всем файлам с определенными
расширениями
Пример.

order deny,allow
# запретить доступ отовсюду
deny from all
#разрешить доступ с вашего ip(если он у вас, конечно, статический)
allow from <ваш ip>


Чтобы обсудить это в форуме, нажмите здесь.


Хостинг-источник: http://karman.com.ua, http://articles.org.ru/cfaq/index.php?qid=86&catid=14
  Права доступа к PHP-скриптам.
  Теперь, когда PHPMyAdmin поддерживает "родные" MySQL 4.1.x комментарии столбцов, что случится с моими комментариями столбцов, сохраненных в pmadb?
Есть вопросы о хостинге и о сайтах?
и получи ответ от профессионалов, которые обожают помогать людям :).
Еще по теме:
  Шаги по созданию и продвижению RSS лент
  После установки поддержки разделения в MySQL, Apache выдаёт дампы сразу после загрузки libPHP4.so. Можно ли это исправить?
  Клиентские библиотеки MySQL больше не включены в PHP 5, как это отразится на мне? Могу ли я всё так же использовать MySQL c PHP? Я пытаюсь работать с MySQL и получаю ошибки "function undefined"
  Я обновился до PHP 4 и теперь mysql постоянно выдает "Warning: MySQL: Unable to save result set in ..." (Предупреждение: MySQL: Не могу сохранить результат в ...). Что это?
  Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?
  Где можно найти старые версии PHP?
  Я получил последнюю версию исходного кода PHP из CVS. Что нужно для компиляции его под Windows?
  Как подключить библиотеки PHP?
  Доступны ли прекомпилированные бинарники PHP?
  Где я могу взять PHP?
  Какие отличия между PHP 3 и PHP 4?
  Какая связь между версиями PHP?
  Что PHP означает?

© СПД Праведно-Счастливый Аладдин Ярославович, 2004-2008. Все права защищены. При цитировании материалов ссылка на www.karman.com.ua обязательна. Редакция "Кармана" может не разделять точку зрения авторов статей, сообщений и ответственности за их содержание не несет.

Быстрый переход к содержимому сайта Karman.com.ua:
Новости, советы, углубленные знания, знания для новичков, законодательство, интересные скрипты, фотогалереи, отчеты, статьи о хостинге: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
Часто задаваемые общие вопросы о хостинге, про FTP, PHPMyAdmin и MySQL, CPanel, Предустановленные скрипты, WHM, Cron, .htaccess, SSH, Паролирование директорий, О доменах, о работе с сайтом, о Раскрутке сайта, об Электронной почте, про Основы web-программирования: 0, 1
Энциклопедия основных терминов хостинга, программного обеспечения, железной стороны хостинга, технологий, электронной почты и доменов: 0, 1, 2, 3, 4, 5, 6
Сайты о хостинге (форумы, хостинг-провайдеры, студии веб-дизайна, домен-регистраторы, инструментарии в помощь вебмастеру): 0, 1, 2

Rambler's Top100