PHP 8.4.2 Released!

Безопасность баз данных

Содержание

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

Чтобы получить или сохранить информацию, необходимо подключиться к базе данных, отправить законный запрос, получить результат и закрыть соединение. Наиболее распространённый язык запросов в таком взаимодействии — язык структурированных запросов SQL. Подробнее о подделке SQL-запросов рассказывает раздел «SQL-инъекции».

Нетрудно догадаться, что сам PHP не защищает базу данных. Этот раздел документации вводит основы безопасного доступа и управления базами данных в PHP-скриптах.

Требуется помнить простое правило: глубокая защита. Чем шире меры по защите базы данных, тем меньше вероятность того, что злоумышленник раскроет или злоупотребит сохранённой информацией. Хороший проект структуры базы данных и приложения помогает справиться с опасениями.

Добавить

Примечания пользователей 1 note

up
1
gabe dot aust at gmail dot com
5 days ago
The most significant way to protect databases is to simply use authentication! There are production systems online with null and default administrator credentials. See the recent "The Real World" hack...
Rule 1: Simply use authentication instead of not using it... Obviously do not save the credentials in a public-readable file.
Rule 2: Create a subsidiary account with access only to the live schema being used by your PHP app, i.e. never use the global DBMS admin account as a service login.
Rule 3: Block access at the DBMS end to only allow the web server to access the API. Most access is network based so that will involve filtering by IP.
Rule 4: You can obfuscate a bit more by setting a non-standard port but this may require code changes in the API calls you coded.
The above are some simple steps anyone can perform. More serious securing would likely involve setting up SSL connectivity.
To Top