Этот сценарий перенаправления откроет меня для внедрения кода или включения удаленного файла? - PullRequest
1 голос
/ 29 января 2010

Недавно я наткнулся на статью в блоге об использовании 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;
    }

?>

Спасибо как всегда!

1 Ответ

1 голос
/ 29 января 2010

Да, было бы. Ни один из этих символов в любой комбинации не является достаточным, чтобы вызвать проблему XSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...