忍者ブログ
にわか情報系ががんばります.備忘録,あるいは同じ躓きつまづきをした人のために

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

htmlspecialcharsとENT_QUOTES

htmlspecialcharsとENT_QUOTEについてよく分からんかったので動かして確かめてみた.

...っていうのを書こうとして,ブログにhtmlをソースとして書こうとしたらhtmlで解釈されてしまって,
どうすればいいかと思案した挙句が,なんというか,本末転倒?
まあいいや.
ちなみにPHPマニュアル - htmlspecialchars
に書いてあるままなんですけどね.

↓こんなphpを書きます.

<?php
$char1="color='red'"."\n";
$char2='color="red"'."\n";
echo "char1=".$char1."<br>\n";
echo "char2=".$char2."<br>\n";
echo "A. ".htmlspecialchars($char1)."<br>\n";
echo "B. ".htmlspecialchars($char2)."<br>\n";
echo "C. ".(htmlspecialchars($char1,ENT_QUOTES))."<br>\n";
echo "D. ".(htmlspecialchars($char2,ENT_QUOTES));
?>

これをブラウザで見るとこうなります.

char1=color='red'
char2=color="red"
A. color='red'
B. color="red"
C. color='red'
D. color="red"

ソースを見るとこうなってました.

char1=color='red'
<br>
char2=color="red"
<br>
A. color='red'
<br>
B. color=&quot;red&quot;
<br>
C. color=&#039;red&#039;
<br>
D. color=&quot;red&quot;


<や>や’や”が変換されています.

ここではcolor="red"と書いてますが,
たとえばこれが入力フォームからとってきた値を表示しているものだとすると,
<a href='hoge' onclick='alert(404)'>ここをクリック</a>
って値を表示させれば,
ここをクリック
ってなります.
危ない.
ENT_QUOTESを指定すると"も’も変換してくれるのでソースで見ると
&lt;a href='hoge' onclick='alert(404)'&gt;ここをクリック&lt;/a&gt;
ってなってるので実行されない.
みたいな.

どうしようブログ書くのがメンドウだ.
詳しく書こうと思ったけど結果的にすごく適当.
PR

PHPカンファレンス関西2013行ってきました

PHPカンファ行ってきました.
そのLTで「技術ブログを始めろよ」という発表がありました(イメージ).
https://twitter.com/77web/status/340730422705135616
パイスラがすごかったです

「技術ブログっつったって俺,別に大したことやってないし...」とか言ってないでやれよと.

1.動くつもりのコード書く
2.しかし動かない
3.調べたりして改善
4.動いた!

ってなったら,その3番のところに書く価値があると.

そんなわけで自分自身の備忘録だったり記録だったりのために始めてみました.

書く内容は技術系のこともあれば日常のどうでもいいこともある予定.
技術系はとりあえずPHPあたりだろうか.
ていうか何でも書こう.

なお現在のレベルは初級者,ということで.

書いている内容に間違いや,より良い方法などがあればコメントあると喜ぶ.
        
  • 1
  • 2