|

PHP-BugZ
ManderX
Спецвыпуск Xakep, номер #030, стр. 030-020-4
safe_mode_exec_dir = /home/USER/bin
Если PHP используется в safe mode, функции запуска системных процессов (system и другие) не смогут запустить программы, которые находятся не в этом каталоге.
4. Запретить открытие удаленных файлов, если они не нужны:
allow_url_fopen off
5. Отключение функции:
disable_functions = phpinfo
6. Скрытие пхп:
expose_php off
Эта директива сообщает, может ли PHP оповещать пользователей о своем существовании на данном сервере, например, добавляя HTTP заголовок.
7. Выключить вывод сообщений об ошибках в браузер, и включить регистрирование ошибок в лог-файле:
display_errors off
log_errors on
8. Ограничения на закачку файлов
upload_tmp_dir = /home/USER/tmp
Указанный каталог используется для временного сохранения файлов, загружаемых пользователями на сервер. Каталог должен быть доступен для записи пользователю, от имени которого запущен Apache.
upload_max_filesize = 2M
Определяет, максимальный размер файла, который может быть загружен пользователем на сервер.
9. Ограничения на время работы
max_execution_time = 30
Устанавливает максимальное время в секундах, в течение которого разрешено выполнение скрипта пока он будет прерван интерпретатором PHP. Это предохраняет сервер от длительного выполнения ошибочных сриптов.
10. Ставить слеш перед спецсимволами
magic_quotes_runtime on
Если опция включена, то большинство функций возвращающих данные из любых внешних источников (включая базы данных и текстовые файлы) будут предварять все специальные символы обратным слешем.
11. Скрытие Php
Возможно, ты захочешь просто спрятать свой php-скрипт, для этого кроме уже рекомендованной опции expose_php off можно ассоциировать интерпретатор php с необычным типом файлов.
Например, подредактировав httpd.conf, можно маскировать php-скрипт под другой скрипт:
AddType application/x-httpd-php .asp .py .pl
Использовать несуществующие типы:
AddType application/x-httpd-php .rus .cccp .msdos .xakep
Замаскировать под простой html:
AddType application/x-httpd-php .htm .html
Кстати многие, увидев динамические проекты, удивляются – почему на html?
[Finish]
В рамках одной статьи я постарался выдать как можно больше инфы по безопасной работе с PHP. Вывод можно сделать только один - хорошо настроив апач и пхп, уже можно отвертеться от некоторых бажных скриптов. Так что уговаривай админа изменить конфигурацию=). Удачи в написании скриптов!!!
Описание Security функции
escapeShellCmd($str) и escapeshellarg($str) – обе очищают строки от небезопасных символом, очищают строки $str, которые потом должны быть употреблены в функциях типа system(). Не знаю чем они отличаются, но в PHP-документации советуют использовать вторую.
strip_tags($str, [$allowable_tags]) – функция удаляет из строки $str все тэги и возвращает результат, в параметре $allowable_tags можно передать тэги, которые не следует удалять.
stripslashes($str) – заменяет в строке $str некоторые предваренные слэшем символы (а это – “,’,\) на их одинаковые эквиваленты. Употреблять можно в связке с htmlspecialchars().
htmlspecialchars($str) – заменяет в строке $str некоторые символы (амперсант, кавычки, знаки “больше” и “меньше” и т.д.) на их HTML-эквиваленты, так, чтобы они выглядели на страницы “самими собой”.
Назад на стр. 030-020-3 Содержание Вперед на стр. 030-020-5
|