они получают 2 php-строки, которые они должны вставить в свой магазин.
Это невероятно хитро. include () перетаскивает код с указанного URL и выполняет его .
Я бы никогда не позволил партнерской сети добавлять код PHP в мое приложение: это дает внешнему сайту полный контроль над моим приложением и базой данных. Это особенно недопустимо при работе по незашифрованному HTTP: любая атака «человек посередине» может немедленно поставить под угрозу работу сервера. Также, если в вашем tracker.php есть дыра в межсайтовом скриптинге, любой конечный пользователь может полностью скомпрометировать сайт клиента.
Я настоятельно рекомендую найти менее небезопасный способ взаимодействия вашей сети со сторонними приложениями.
Если вы намереваетесь вернуть только HTML, который будет отображаться на последней странице, а не код PHP, вы можете сделать это, используя readfile () , или более обычный метод, который заключается в том, чтобы иметь партнера вставьте клиентскую метку , указанную на вашем сайте.
<?php include 'http://www.mydomain.com/tracker/tracker.php?xyz='.$_GET[xyz]; ?>
Вы также должны использовать urlencode () , чтобы любые специальные URL-символы в параметре были правильно экранированы.
value="http://www.mydomain.com/ipn.php?xyz=<?php echo $_GET[xyz]; ?>"
И здесь, к тому же, вы должны, как всякий раз, когда вы выводите любое текстовое содержимое в HTML, использовать htmlspecialchars () для кодирования специальных символов HTML. В противном случае вы уязвимы для атак межсайтового скриптинга.
На данный момент в вашем вопросе недостаточно информации, чтобы точно определить, что некоторые из ваших партнеров делают неправильно. Более конкретные примеры будут полезны. Но из того, что вы опубликовали до сих пор, я испытываю огромную обеспокоенность по поводу безопасности вашей системы на самом базовом уровне.