什么是"贪婪令牌解析"?

Jac*_*aug 6 php parsing token greedy

什么是PHP中的Greedy Token解析?我正在阅读PHP编码指南,其中说以下内容......

"除非你需要解析变量,否则总是使用单引号字符串,并且在需要解析变量的情况下,使用大括号来防止贪婪的令牌解析.如果字符串包含单引号,你也可以使用双引号字符串,所以你没有使用转义字符."

这是否使用围绕我的变量的大括号某种安全过程来排除黑客行为?(例如{$ var})贪心令牌解析黑客可以使用的某种攻击,如SQL注入或XSS(Cross Site Scriptiong)

Ted*_*opp 16

假设您希望字符"a"紧跟变量中包含的值$var.如果你写"$ vara",那就不会有效,因为你没有变量$vara.解析器是贪婪的 - $如果包含它的法律语法,它假定应该包括所有后续内容."$ {var} a"可以防止这种情况发生.


Mar*_*ade 5

贪婪令牌解析意味着如果一个字符序列包含多个可能的令牌,则解析器将接受具有最多字符的令牌.如果使用大括号,解析器将在大括号处停止,因为它不是令牌的一部分.