Как я могу найти, какой домен запрашивает iframe с моего сервера и сохраняет домен в базе данных

У меня есть набор различных веб-сайтов, запрашивающих файл 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)); } }