はてなキーワード: 朝型生活とは
http://anond.hatelabo.jp/20081020045037
早速お返事有難う御座います!id:hiroyukiegamiです!
なるほど!前回
$Hamachiya2 = htmlspecialchars($_GET["data"], ENT_QUOTES); //←ここを追加$params = array('api_key' => 'フリッカーのAPIキー',
'method' => 'flickr.photos.search',
'text' => $Hamachiya2,
と$_GET のところ(入力)で何かしようとしてたけど
”レスポンスのコーナーのところ、htmlに変数埋め込んで echo してるとこ。”
が大事なんですね!勉強になります!
先生からの説明で
その際に注意すべきは、htmlの属性内(alt=ナントカとか、src=ナントカとか)に変数を埋め込んでいる場合は、ちゃんとクオートの類もエスケープする感じ?
とあって、うーんどういう意味だろうとグーグル先生に聞いてみたよ!
クオート(正確にはクォーロみたいですね!) ・・・ クォートとは、文字が通常有する特別な意味を奪うことである。
つまり”とか’の事ですね!勉強になります。
今回echoで実際に書き出している部分は
$query = $_GET["data"];echo "$query";
でした!
じゃぁ、ここをこうすればいいのかな??
$query = $_GET["data"];echo nl2br(htmlspecialchars($query, ENT_QUOTES));
http://php.benscom.com/manual/ja/function.nl2br.php
nl2br ・・・ nl2br()関数は、改行文字(\n、\r、\n\rなど)を
タグに置き換えます。
うーん、、、ではid:zapa氏の荒らしURLをみてみよう・・・。
http://flickr2.in/fli.html?data=%3Cscript%3Ejavascript%3Aalert(%27xss%27)%3B%3C%2Fscript%3E
id:Hamachiya2先生!全然解決されないよ(涙)
今回nl2brタグで改行を回避したけど・・・これじゃダメみたいですね・・・!
<script>javascript%3Aalert('xss')%3B<%2Fscript>
・・・!!!
先生!僕は大きな間違いをしていたようです!
htmlspecialcharsとかnl2brタグも大事だけど、、、これじゃ解決できないみたい!!!!
これって、どうしたらいいんですか!?ヘルプミー!!!
なんとか直さないと・・・。
どうにか解決方法はありますかね??