Что такое паршивый токен в PHP? Я читал руководство по кодированию PHP, в котором говорилось следующее …
«Всегда используйте одиночные кавычки, если вам не нужны анализируемые переменные, и в тех случаях, когда вам нужны анализируемые переменные, используйте фигурные скобки для предотвращения жадного парсинга . Вы также можете использовать строки с двумя кавычками, если строка содержит одинарные кавычки, поэтому у вас нет для использования escape-символов. "
Использует ли фигурные скобки вокруг моих переменных какой-то процесс безопасности, чтобы исключить хакинг? (Например, {$ var}) Является ли жадный токен, анализирующий какую-то атаку, которую могут использовать хакеры, например SQL-инъекция или XSS (Cross Site Scribeg
Предположим, вы хотите, чтобы символ «а» сразу же следил за значением, содержащимся в переменной $var
. Если вы напишете «$ vara», это не сработает, потому что у вас нет переменной $vara
. Парсер жадный – он предполагает, что все последующие $
должны быть включены, если это легальный синтаксис, чтобы включить его. "$ {var} a" предотвращает это.
Жадный анализ парсера означает, что если последовательность символов содержит более одного возможного токена, синтаксический анализатор примет токен с наибольшим количеством символов. Если вы используете фигурные скобки, синтаксический анализатор остановится на фигурной скобке, поскольку он не является частью токена.