هل سيقوم هذا البرنامج النصي بإعادة توجيه فتحي لحقن الكود أو إدراج الملفات عن بُعد؟

StackOverflow https://stackoverflow.com/questions/2159849

سؤال

لقد ركضت مؤخرًا عبر مقالة مدونة حول استخدام البرامج النصية PHP لإعادة توجيه الروابط التابعة. لقد جعلني أفكر فيما إذا كان هذا البرنامج النصي آمنًا أم لا. لقد سمعت أن استخدام متغير $ _GET يمكن أن يؤدي إلى ضعف.

سيكون موضع تقدير أي اقتراحات. هل سيكون التحقق من مدخلات alphanumerics والواصلة ('-') كافية للحماية من هذا؟

لهذا البرنامج النصي ، ستكون الروابط في النموذج:

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;
    }

?>

شكرا دائما!

هل كانت مفيدة؟

المحلول

نعم ، سيكون. لا يوجد أي من هذه الشخصيات في أي مجموعة كافية للتسبب في مشكلة XSS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top