如何查找哪个域从我的服务器请求 iframe 并将域保存在数据库中


How can i find which domain requests an iframe from my server and save domain on database

出于各种原因,我有一组不同的网站从我的服务器请求iframe html文件

是否可以跟踪onload哪个域请求iframe,然后将其保存在数据库中。

如果域已存在,则不要将其添加到数据库中。

请求 iframe 内容的不是域,而是用户的浏览器。

一点机会看到这个iframe在哪个页面上:引用者(在标准文档中错误地拼写为"referer",所以每个浏览器都必须复制这个拼写错误),在PHP中可以通过$_SERVER['HTTP_REFERER']获得。

您可以尝试从那里解析域,最好使用 parse_url()。

你可以结合使用jQuery的post()功能和PHP的$_SERVER变量:

$.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));
   }
}