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