XSSセーフな文字列補間スキームの概念実証をまとめようとしています。
置換された文字列が与えられた場合、
"Hello <b>$planetoid</b>!"
それをリテラル部分と置換("Hello<b>" planetoid "</b>!")
に分割してから、ステートマシンをリテラル部分に対して左から右に実行したいと思います。(上記の)補間値に達したときplanetoid
、状態から適切なエスケープ関数に到達できる必要があります。
lex / yacc / bisonを使用してステートマシンを導出し、文法のラベルを出力状態に関連付ける方法の例を知っている人はいますか?javascriptで使用できるステートマシンを派生させ、PHPの基盤となる文字列実装を置き換えようとしています。
これを行う理由はここに記載されています。
乾杯、マイク