1

我想在客户端而不是服务器端抓取页面。然而,同源政策阻止我这样做。

我想了解的是为什么我没有对另一个站点的 DOM 的只读访问权限。

如果我可以通过将页面拉到服务器上并以任何方式访问它来获得相同的信息,这会给站点带来什么安全风险。

我只是想从如下页面中提取基本信息:

document.title

如果我可以在服务端做到这一点,为什么不能在客户端呢?主要区别是我不想支付额外的往返费用?

显然用户的数据不应该是可访问的,这是显而易见的,我不需要这方面的信息。但以同样的方式,我可以使用

file_get_contents

并解析 DOM,我想做客户端。

不允许 JavaScript 确定……访问用户定义数据与通用页面数据之间的区别的技术限制是什么?

PHP 可以做到。

为什么 JavaScript 不能?

它有什么限制?

我不想绕过它或破解它,但更好地理解目的,也许发现它不适用于我的情况......页面刮擦客户端

有关的

规避同源政策的方法

同源政策

服务器如何验证书签(链接中的 javascript)?安全性如何保持?

http://en.wikipedia.org/wiki/Representational_state_transfer#Central_principle

4

1 回答 1

1

为什么我没有对另一个站点的 DOM 的只读访问权限

您的用户可以在任何给定站点上访问的数据可能与您可以在该站点上访问的数据不同。

由于用户可能通过包括 IP 地址在内的各种事物来识别,因此浏览器无法清理所有个人信息的数据。

过于简单的插图:

<iframe src="your bank" id="frame"></iframe>
<script>
    var bank = document.getElementById('frame').contentDocument;
    var stolen = bank.getElementById('account_balance').innerText;
    ajax('theft.cgi', stolen);
于 2012-09-07T13:09:59.540 回答