П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 184077 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 84173 раз(а).

Учебник HTML.
Просмотров 78294 раз(а).

Руководство по PHP5.
Просмотров 48948 раз(а).

Хостинг через призму DNS.
Просмотров 56549 раз(а).

Подборка текстов стандартных документов.
Просмотров 48325 раз(а).

Учебник PHP - Самоучитель
Просмотров 54885 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 55936 раз(а).

Внешние атаки...
Просмотров 45391 раз(а).

Учебник PHP.
Просмотров 40235 раз(а).

SSI в примерах.
Просмотров 30357 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. Глава 27. Безопасность баз данных След.

Защита хранилища базы данных

SSL/SSH защищает данные, которыми обмениваются клиент и сервер, но не защищают сами данные, хранимые в базе данных. SSL - протокол шифрования на уровне сеанса передачи данных.

В случае, если взломщик получил непосредственный доступ к БД (в обход веб-сервера), он может извлечь интересующие данные или нарушить их целостность, поскольку информация не защищена на уровне самой БД. Шифрование данных - хороший способ предотвратить такую ситуацию, но лишь незначительное количество БД предоставляют такую возможность.

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

В случае работы со скрытыми служебными данными их нешифрованное представление не требуется (т.е. не отображается), и, как следствие, можно использовать хеширование. Хорошо известный пример хэширования - хранение MD5-хеша от пароля в БД, вместо хранения оригинального значения. Более детальная информация доступна в описании функций crypt() and md5().

Пример 27-1. Использование хешированных паролей

<?php
// сохранение хешированного пароля
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            
addslashes($username), md5($password));
$result = pg_exec($connection, $query);

// проверка введенного пользователем логина и пароля на корректность
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
            
addslashes($username), md5($password));
$result = pg_exec($connection, $query);

if (
pg_numrows($result) > 0) {
    echo
"Welcome, $username!";
}
else {
    echo
"Authentication failed for $username.";
}
?>

Пред. Начало След.
Соединение с базой данных Уровень выше SQL-инъекции


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru