- ベストアンサー
文字列とエスケープ
http://oshiete1.goo.ne.jp/qa3611556.html よく考えたらこれは不完全です。 $teststr ='";alert("あいう");var hoge ="'; とか書かれる可能性があるわけで。 エスケープの手段にはどのようなものがあるでしょうか?
- みんなの回答 (2)
- 専門家の回答
http://oshiete1.goo.ne.jp/qa3611556.html よく考えたらこれは不完全です。 $teststr ='";alert("あいう");var hoge ="'; とか書かれる可能性があるわけで。 エスケープの手段にはどのようなものがあるでしょうか?
お礼
ありがとうございます。 元々は 俺がPHPに慣れてないのと面倒くさがりであるという理由で (丸投げで)手間かけさせてました(死 一応動作するようです。 が,少し考えた結果,俺の設計には大きな問題があるような気がします。 もともとCDATAマーク区間にしているのは application/xhtml+xmlでもtext/htmlでも動くように・・・・ のつもりだったんですが, $teststr =']]>'; とかやるとapplication/xhtml+xmlでコケます。 text/htmlでも $teststr = '</'; とかになると危ないかもしれません。 少し締め切らずもう少し落ち着いて考えてみようと思ってます。 #EcmascriptだけをPHPで出力するようにして XHTMLからそれをscript要素のsrc属性で呼び出す形の方がいいのかなぁ・・・