Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
什么是 PHP 中的贪婪令牌解析?我正在阅读一个 PHP 编码指南,它说以下内容......
“除非您需要解析变量,否则请始终使用单引号字符串,并且在确实需要解析变量的情况下,请使用大括号来防止贪婪的令牌解析。如果字符串包含单引号,您也可以使用双引号字符串,因此您没有使用转义字符。”
这是在我的变量周围使用花括号某种安全过程来排除黑客攻击吗?(例如 {$var})是贪婪的令牌解析黑客可以使用的某种攻击,例如 SQL 注入或 XSS(跨站点脚本
假设您希望字符“a”紧跟在 variable 中包含的值之后$var。如果你写“$vara”,那是行不通的,因为你没有变量$vara。解析器是贪婪的——它假定如果包含以下所有内容$是合法的语法,则应该包含它。"${var}a" 可以防止这种情况。
$var
$vara
$
贪婪令牌解析意味着如果一个字符序列包含多个可能的令牌,解析器将接受具有最多字符的令牌。如果使用大括号,解析器将在大括号处停止,因为它不是令牌的一部分。