6

PHPでの貪欲なトークン解析とは何ですか?私は次のようなPHPコーディングガイドを読んでいました...

「変数を解析する必要がない限り、常に一重引用符で囲まれた文字列を使用します。変数を解析する必要がある場合は、中かっこを使用して貪欲なトークンの解析を防ぎます。文字列に一重引用符が含まれている場合は、二重引用符で囲まれた文字列を使用することもできます。エスケープ文字を使用します。」

これは、ハッキングを排除するために、変数の周りに中括弧を使用しているのですか?(例:{$ var})SQLインジェクションやXSS(Cross Site Scriptiong)など、ハッカーが使用できるある種の攻撃を解析する貪欲なトークンです。

4

2 に答える 2

16

文字「a」の直後に変数に含まれる値を続けたいとします$var。「$vara」と書くと、変数がないのでうまくいきません$vara$パーサーは貪欲です。これを含めることが正当な構文である場合は、以下のすべてを含める必要があると想定しています。「${var}a」はそれを防ぎます。

于 2011-07-29T20:02:53.853 に答える
5

貪欲なトークン解析とは、文字のシーケンスに複数の可能なトークンが含まれている場合、パーサーが最も多くの文字を含むトークンを受け入れることを意味します。中括弧を使用する場合、中括弧はトークンの一部ではないため、パーサーは中括弧で停止します。

于 2011-07-29T20:03:01.930 に答える