Сможет ли этот сценарий перенаправления открыть мне возможность внедрения кода или удаленного включения файла?
-
23-09-2019 - |
Вопрос
Недавно я наткнулся на статью в блоге об использовании 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;
}
?>
Спасибо, как всегда!
Решение
Да, так и есть.Ни одного из этих символов в любой комбинации недостаточно, чтобы вызвать проблему XSS.
Не связан с StackOverflow