нет, есть файлы, приспособленные для хранения этого дела. Как ты будешь защищаться от инъекции в твоём случае, скажи мне? Вот кто-то возьми и впиши вместо названия что-то что закроет этот массив, и дальше нафигарит своего кода. А ты его выполняешь. И пи3да тебе и твоему сайту. =) Это будет очень печально!
Уговорил. --- Добавлено --- Хотя стоп. А зачем тогда htmlspecialchars? Она же, вроде, защищает от этого? Или нет? Массив так просто не закрыть. При попытке ввести закрывающую скобку - мой скрипт просто удаляет её. Он оставляет только то что нужнно для определённого поля.
Ну всё таки, если не сложно, объясни, как ещё можно это обойти, если всё проходит через htmlspecialchars и все символы кроме тех которые нужны удаляются?
Ладно, пока что оставлю так, т.к. лень переписывать всё под БД, потом если обнаружу уязвимость - ничего не останется кроме как переписать ))
@SamyRed, какие проблемы с var_export-ом? Берёшь массив, заменяешь нужное значение, делаешь var_export. Только файл для записи должен быть доступен PHP: $conf["bla-bla"] = $_POST["blabla"]; file_put_contents("path/to/conf.php", "<?php $conf = " . var_export($conf, 1)); Где тут лишний код? @igordata, с var_export-ом инъекции невозможны. Что-бы ты ни написал. А вот с ручной заменой, как некоторые предложили, да. На таком принципе, вроде, Joomla конфиги хранит, и ещё какие-то двиги мне попадались подобные