0

次のようなものがあるとします。

if ($command === 'txt') {
    header('Content-type: text/plain;charset=utf-8');
    echo $result;
    exit();
} else ($command === 'js') {
    $json = array( $result );
    header('Content-type: text/javascript;charset=utf-8');
    echo $callback . '(' . substr(json_encode($json), 1, -1) . ');';
    exit();
}

echo ステートメントで使用できますか? htmlspecialcharshtml として解釈されると台無しになります。一方、ブラウザーが html として解釈した場合に、誰かが xss 攻撃を試みるリスクを残すことはありません。

私は何をすべきか?心配しなくていいのhtmlspecialchars

4

1 に答える 1

0

いいえ、使用しないでくださいhtmlspecialcharshtmlspecialcharsHTMLインジェクションを回避することを目的としているため、どちらも意味がありません。ただし、JSONを使用する場合、クライアントコードは、戻り値の使用方法に注意する必要があります。

たとえば、それをに注入することinnerHTMLは安全ではありません。

于 2012-04-03T20:06:10.123 に答える