サポート » 使い方全般 » $_SERVER['REQUEST_URI'] の危険性について教えてください

  • 解決済 photographer hiro.

    (@mura0403)


    いつもお世話になります。

    $_SERVER[‘REQUEST_URI’] の危険性について知りたいのですが
    フォーラムの記事で$_SERVER[‘REQUEST_URI’]はXSS攻撃の可能性があるため「esc_url_raw()」を使いましょうとの記事を拝見しました。

    PHP関係、全然素人で教えて頂きたいのですが
    とある某有料テンプレートで
    <?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
    と関数が使われているのですが(いいねボタンなどで)これは大丈夫なものなのでしょうか?

    また、別件で
    ドメインのトップページ(index.php)を使用し
    可能のディレクトリーからワードプレス(wordpress mu)のデーターを引っ張ってるのですが通常の読みコタでは今くいかなかったため

    <?php
    $_SERVER['REQUEST_URI'] = '/wordpress/';
    require_once('./wordpress/wp-load.php');
    ?>

    これを入れた後に読み込みを行っています。
    これも危険性があるのでしょうか?

    XSS攻撃の危険性もよくわかったおらず
    恐れ入りますが、よろしくお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Seisuke Kuraishi (tenpura)

    (@tenpura)

    どのような場面かわかりませんが、

    <?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>

    は危険なコードとなり得る場合が考えられますので

    <?php echo esc_url( "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); ?>

    のように書かれるべきです。

    <?php
    $_SERVER['REQUEST_URI'] = '/wordpress/';
    require_once('./wordpress/wp-load.php');
    ?>

    は、$_SERVER['REQUEST_URI'] の内容をハードコーディングしているので XSS の危険性はありませんが、その他の $_SERVER['REQUEST_URI'] を参照するコードが正しく動かなくなる可能性があります。

    サニタイズに用いられる関数については以下を参考にしてください。
    http://wpdocs.osdn.jp/Data_Validation

    Seisuke Kuraishi 様

    ご回答ありがとうございます。
    早速変更したいと思います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「$_SERVER['REQUEST_URI'] の危険性について教えてください」には新たに返信することはできません。