О дырявых скриптах
Итак, вы определили что скрипты крайне небезопасны на предмет фильтрации входящих данных. Но времени, как всегда, в обрез и переписывать горы сами понимаете чего нет ни времени ни желания. Как защитить скрипты от небезопасных параметров, таких как MySQL инъекции?
- очень просто...
Для этого нам потребуется использовать возможность указания php параметра auto_prepend_file - файл, который подгружается перед выполнением php сценария.
Мы можем указать этот параметр или в php.ini (подойдёт для всех случаев) или, в случае, когда php запускается как модуль Apache в конфигурационном файле web-сервера Apache httpd.conf или прямо в .htaccess файле
Рассмотрим каждые из этих способов.
1 - указываем в php.ini
...
auto_prepend_file путь_к_файлу/auto_prepend.php
...
2 - указываем в httpd.conf
...
php_value auto_prepend_file путь_к_файлу/auto_prepend.php
...
3 - указываем в .htaccess файле
...
php_value auto_prepend_file путь_к_файлу/auto_prepend.php
...
путь_к_файлу - полный путь к файлу auto_prepend.php на нашем сервере
Итак, зачем же это надо.
При каждом запуске php сценариев на нашем сервере будет запускаться файл auto_prepend.php, который будет фильтровать входящие параметры: GET, POST, COOKIE
Рабочий пример можно скачать отсюда:
Скачать