У меня есть набор различных веб-сайтов, запрашивающих файл iframe
html с моего сервера по разным причинам
Можно ли отслеживать onload
какой домен запрашивает iframe
а затем сохранять его в базе данных.
Если домен уже существует, не добавляйте его в базу данных.
Это не домен, который запрашивает содержимое для iframe, это браузер пользователя.
Существует небольшая вероятность увидеть, на какой странице находится этот iframe: реферер (ошибочно записанный в стандартном документе как «референт», поэтому каждый браузер должен был скопировать эту опечатку), доступный на PHP через $ _SERVER ['HTTP_REFERER'].
Вы можете попробовать и проанализировать домен оттуда, лучше всего используя parse_url () .
Вы можете использовать комбинацию функций jQuery post()
и переменных $_SERVER
PHP:
$.post("collect.php", { source: "<?=$_SERVER['HTTP_REFERER']?>" } );
Ваш скрипт сбора может затем проверить базу данных, чтобы увидеть существующие ссылки на источник и ввести новый, если потребуется. Пример использования PDO:
if (isset($_POST['source']) && $source = $_POST['source']) { $db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password'); // Be sure to sanitize $source if ($db->query("SELECT * FROM table WHERE source = $source")->rowCount() == 0) { $stmt = $db->prepare("INSERT INTO table(`time`, `source`) VALUES(?, ?)"); $stmt->execute(array(time(), $source)); } }