PHP является одним из наиболее распространенных серверных скриптовых языков. Он отличается обширнейшей базой функционального кода, простым синтаксисом, адаптируемым кодом и, что наиболее важно, возможностью взаимодействия с самыми разными базами данных. MySQL — это одна из наиболее популярных СУБД, используемых в сочетании с PHP; причина заключается в ее эффективности, богатой функциональности, а также простоте настройки и использования.
Язык PHP зачастую критикуют за недостаточный уровень безопасности, поскольку со временем в нем было обнаружено множество потенциальных уязвимостей. Тем не менее, он стабильно развивается, а большинство уязвимостей можно компенсировать за счет надлежащей конфигурации или повышения уровня безопасности разрабатываемого кода.
Вот несколько советов по настройке (разработка безопасного кода обсуждается ниже), касающихся переменных в файле «php.ini»:
* Необходимо установить переменную register_globals в значение off. * Необходимо установить переменную safe_mode в значение on. * В переменной open_basedir следует указать базовый каталог веб-сайта. * Необходимо установить переменную display_errors в значение off. * Необходимо установить переменную log_errors в значение on. * Необходимо установить переменную allow_url_fopen в значение off.
Дополнительные сведения, касающиеся этих настроек и причин, по которым они играют столь важную роль, можно найти в следующих источниках: [7,8,9].
При установке MySQL создается база данных «test», используемая по умолчанию, и открытая учетная запись «root» без пароля. Данной учетной записи автоматически предоставляется полный доступ ко всем прочим базам данных на сервере. В связи с этим необходимо проделать следующее:
* Сразу изменить пароль учетной записи «root». * Создать новую учетную запись MySQL и предоставить ей минимально необходимые права. * Удалить базу данных «test» и соответствующих пользователей.
Недавно вышел релиз php 5.3.0 Произошло немало изменений. Вот основные:
Deprecated features in PHP 5.3.x
PHP 5.3.0 introduces two new error levels: E_DEPRECATED
and E_USER_DEPRECATED. The
E_DEPRECATED error level is used to indicate that a
function or feature has been deprecated. The
E_USER_DEPRECATED level is intended for indicating
deprecated features in user code, similarly to the
E_USER_ERROR and E_USER_WARNING
levels.
The following is a list of deprecated INI directives. Use of any of these INI
directives will cause an E_DEPRECATED error to be thrown
at startup.
Deprecated functions:
Deprecated features:
-
Assigning the return value of
new by reference is now
deprecated.
-
Call-time pass-by-reference is now deprecated.
-
The use of {} to access string offsets is deprecated.
Use [] instead.
Источник: http://ru.php.net/migration53.deprecated |