3

iframeさまざまな理由で、サーバーから html ファイルを要求する一連のさまざまな Web サイトがあります。

onloadどのドメインが を要求しているかを追跡しiframeて、それをデータベースに保存することは可能ですか?

ドメインが既に存在する場合は、データベースに追加しないでください。

4

2 に答える 2

3

iframe のコンテンツを要求するのはドメインではなく、ユーザーのブラウザーです。

この iframe がどのページにあるかを確認するわずかな機会があります: $_SERVER['HTTP_REFERER'].

parse_url()を使用して、そこからドメインを解析してみることができます。

于 2013-01-26T17:04:45.047 に答える
2

post()jQuery の機能と 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));
   }

}
于 2013-01-26T17:06:17.110 に答える