Placido
Наблюдаю
Возникла необходимость использовать в eval() строку, введенную пользователем на сайте через форму. В связи с этим возникли два вопроса. Первый - как обезопасить себя от возможного "непотребства", которое могут ввести через форму, вроде "echo '<script>...</script>, include и т.п.', и второй - как проверить валидность кода перед вставкой его в eval().
И если по первому вопросу у меня есть мысли, например, проверить введенную строку на содержание "eval(), echo, print и т.д.", то по поводу второго возникли сложности. Если введенный код невалиден, то интерпретатор выдает ошибку парсинга, как отловить которую я не знаю. Пробовал использовать set_error_handler(), но оказалось, что "It is not possible to catch a parse error in eval() using set_error_handler().".
Поэтому прошу помощи. Подскажите, можно как-то проверить валидность php-кода, содержащегося в строке?
И если по первому вопросу у меня есть мысли, например, проверить введенную строку на содержание "eval(), echo, print и т.д.", то по поводу второго возникли сложности. Если введенный код невалиден, то интерпретатор выдает ошибку парсинга, как отловить которую я не знаю. Пробовал использовать set_error_handler(), но оказалось, что "It is not possible to catch a parse error in eval() using set_error_handler().".
Поэтому прошу помощи. Подскажите, можно как-то проверить валидность php-кода, содержащегося в строке?