13

ZendFrameworkのヘルパー関数の実際のアクションを理解するのに助けが必要です。

$this->escape($string)文字列をテンプレートに出力する前に、渡された文字列に対して実際に何が行われるかを説明してくれる人が必要です。

4

3 に答える 3

17

$this->escape()で指定できる設定に従って文字列をエスケープします$this->setEscape('functionname')。デフォルトでは、PHP の htmlspecialchars 関数です。

http://framework.zend.com/manual/en/zend.view.scripts.html

于 2009-12-18T00:06:10.343 に答える
7

htmlspecialcharsPHP関数を呼び出します。

実行される翻訳は次のとおりです。

  • '&'(アンパサンド)は'&'になります
  • '"'(二重引用符)は'"'になります
  • '<'(未満)は'&lt;'になります
  • '>'(より大きい)は'&gt;'になります
于 2009-12-18T00:02:53.783 に答える
1

PiKe プロジェクトでは、すべてのビュー変数を自動的にエスケープして、デフォルトで XSS に対して安全なカスタム ストリーム ラッパーを構築しましたが、パフォーマンス ヒットは最小限です。次の方法で RAW 値を取得できます。

<?=~ $variable ?>

「~」の文字に注目してください。チェックアウトhttp://code.google.com/p/php-pike/wiki/Pike_View_Stream

于 2011-09-16T08:41:02.427 に答える