42
динамических web-сайтов. Его популярность обуславливается своей
простотой, богатой функциональностью, высокой скоростью выполнения,
открытостью исходных кодов и полной кроссплатформенностью. За свою
двадцатилетнюю историю PHP преодолел путь от скромного шаблонизатора
HTML-документов, до мощнейшего процедурного и объектно-
ориентированного языка программирования, который стабильно входит в
пятерку ведущих средств программирования в мире и имеющий большое
сообщество поддержки.[21]
К сожалению, язык PHP не лишён недостатков и в версии 5.3.9 была
обнаружена опасная уязвимость, которая даёт возможность злоумышленнику
выполнить свой скрипт на сервере. Это стало возможным из–за закрытия
уязвимости в предыдущих версия языка PHP, где была устранена
возможность DoS-атаки, вызванной проблемой с предсказуемыми
коллизиями в алгоритме хеширования. После реализации закрытия данной
уязвимости открылась новая из-за новой директивы max_input_vars, где был
пропущен блок «else» с освобождением памяти и выходом из функции.
Таким образом, если превышается лимит max_input_vars (по
умолчанию значение равно 1000) переменная является массивом, то
переменная оказывается на месте указателя, которой получает управление. В
случае успешной атаки, код будет выполнен с правами PHP-приложения и
это может привести к разным последствиям, в том числе компрометации
важных данных. Для того, чтобы избежать возможного риска, необходимо
обновить язык PHPдо последней стабильной версии PHP 7, у которой
отсутствует данный недостаток.
Традиционно в базах данных применяется принцип хранения данных в
виде записей, каждая из которых имеет фиксированный набор полей. Записи
размещаются в таблицах, совокупность которых и формирует базу данных.
Для работы с этими данными необходима система управления базами данных
(СУБД), в которой реализована вся работа, связанная с доступом к данным.