PHP的复杂卷曲语法是危险的吗?

时间:2016-10-22 19:14:23

标签: php syntax

例如,如果我做了类似

的事情
Rails.application.load_seed

phpinfo()将在该字符串声明的上下文中执行。当我执行$ a = $ _GET ['a']并将get var设置为等于{$ {phpinfo()}}时,似乎不会发生这种情况。为什么这种行为方式不一样,这是否意味着卷曲语法以这种方式不危险?

2 个答案:

答案 0 :(得分:1)

由于仅在编译期间执行变量插值,因此不危险。这些序列必须在双引号字符串/ heredoc文字内的代码中。您必须动态生成文件或使用eval()来担心此问题。

答案 1 :(得分:0)

这就像将双引号更改为单引号一样。

如果你有

$a = 10;
$b = "$a";
$c = '$a';
echo "b = $b\n";
echo "c = $c\n";

然后$ b将与$ a相同。 而$ c将是$ a字面

请参阅What does ${ } mean in PHP syntax?