1

最近、PHP スクリプトを使用してアフィリエイト リンクをリダイレクトする方法に関するブログ記事を見つけました。このスクリプトが安全かどうかを考えさせられました。$_GET 変数を使用すると脆弱性が発生する可能性があると聞きました。

任意の提案をいただければ幸いです。これを防ぐには、英数字とハイフン ('-') の入力をチェックするだけで十分でしょうか?

このスクリプトの場合、リンクは次の形式になります。

http://www.somesite.com/amazon.php?asin=XXXXXXXXXX

また

http://www.somesite.com/amazon.php?id=some-keyword

amazon.php は次のとおりです。

   <?php

    $id = $_GET['id'];
    $asin = $_GET['asin'];

    if ($asin != NULL)
    {
        header("Location:http://www.amazon.com/exec/obidos/ASIN/".$asin."/fantasticaffiliate-20");
        exit;
    }

    else
    {
        $links = array(
            "keyword-one" => "http://www.amazon.com/b/?node=1122334455&tag=fantasticaffiliate-20",
            "keyword-two" => "http://www.amazon.com/exec/obidos/ASIN/1352434213/fantasticaffiliate-20"
            );          

        header("Location:".$links[$id]);
        exit;
    }

?>

いつもありがとう!

4

1 に答える 1

1

はい、そうです。これらの文字の組み合わせはどれも、XSS の問題を引き起こすのに十分ではありません。

于 2010-01-29T04:21:57.797 に答える