NodeJS 是否有办法在iframe中跟踪用户导航

xmjla07d  于 2022-12-03  发布在  Node.js
关注(0)|答案(1)|浏览(279)

我想知道用户在iframe标签中访问的URL我知道需要同源策略不允许
有没有办法做到这一点?
例如:我有一个网站,我用ifame显示另一个网站,我想知道另一个网站的用户访问的网页内iframe标签网站

wwtsj6pe

wwtsj6pe1#

由于同源策略,无法跟踪iframe内的用户导航。此策略可防止来自一个源(网站)的脚本访问来自另一个源(iframe内的网站)的信息。这是一种安全措施,可防止恶意网站访问其他网站的敏感信息。
解决此限制的一种方法是使用postMessage方法在父网站和iframe之间进行通信。这允许父网站向iframe发送消息并接收响应,但不允许父网站直接访问iframe的内容。
下面是如何使用postMessage在父网站和iframe之间进行通信的示例:

// In the parent website:

// Listen for messages from the iframe
window.addEventListener('message', receiveMessage, false);

function receiveMessage(event) {
  // Check if the message is from the iframe
  if (event.origin !== 'http://example.com') {
    return;
  }

  // Print the URL visited by the user inside the iframe
  console.log(event.data);
}

// In the iframe:

// Send a message to the parent website when the user navigates to a new page
window.addEventListener('load', function() {
  window.parent.postMessage(window.location.href, 'http://example.com');
}, false);

请注意,这种方法需要iframe内部网站的合作,因为每当用户导航到新页面时,它需要向父网站发送消息。此外,父网站必须能够信任从iframe接收的消息,因为它们很容易被欺骗。

相关问题