そして、私はここで(特に)フォーラムについて話しています - [PHP]ここにコード[/PHP] - スタイル。二重引用符やその他の「危険な文字」をエスケープするフォーラムもあれば、そうでないフォーラムもあります。
最良の方法は何ですか?皆さんは何を使っていますか?コード インジェクションを恐れずに実行できますか?
編集:車輪の再発明について誰が言ったのですか?
PHPecho
またはprint
テキストの場合、それは決して実行されません。それは でのみ起こりeval
ます。これは、これを行った場合、次のことを意味します。
echo '<?php ... ?>';
それはページ出力に引き継がれ、解析または実行されません。
<
これは、通常の文字 ( 、>
、&
など) をエスケープするだけでよく、通常は安全であることを意味します。
車輪を再発明しないでください。あなたの質問にBBCodeが表示されます。マークダウン ライブラリを取得して、代わりに使用します。SO はこれを使用します: http://daringfireball.net/projects/markdown/
<
>
明らかな理由から、括弧は通常エスケープされます。あるページで引用符がエスケープされている場合は、スクリプトが2回エスケープしたことが原因である可能性があります(たとえば、magic_quotesが1回実行した後、mysql_query()を再度実行した)。データのサニタイズが適切に行われると、出力にエスケープ文字が表示されないはずです。