Pergunta

Recentemente, deparei com um artigo do blog sobre o uso de scripts PHP para redirecionar links de afiliados. Isso me fez pensar se esse script estava seguro ou não. Ouvi dizer que o uso da variável $ _GET pode levar a uma vulnerabilidade.

Quaisquer sugestões seriam apreciadas. Verificar a entrada de alfanuméricos e o hífen ('-') seria suficiente para se proteger contra isso?

Para este script, os links in seriam da forma:

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

ou

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

Aqui está a 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;
    }

?>

Obrigado como sempre!

Foi útil?

Solução

Sim, seria. Nenhum desses personagens em qualquer combinação é suficiente para causar um problema XSS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top