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-эквиваленты, так, чтобы они выглядели на страницы “самими собой”. |