2010-03-20 52 views
1

我想用发表GoogleDocs文件叽叽喳喳的鸣叫为Silverlight应用程序的数据源,但跑进clientaccesspolicy问题。制作clientaccesspolicy代理解决方法的安全性影响是什么?

我看了很多文章this关于this是多么困难,以绕过clientaccesspolicy问题。

所以我写了这个CURL脚本,并把它放在我的PHP的网站,现在我可以得到任何GoogleDocs文件和Twitter的饲料的文字到我的的Silverlight应用:

<?php 
$url = filter_input(INPUT_GET, 'url',FILTER_SANITIZE_STRING); 

$validUrls[] = "http://docs.google.com"; 
$validUrls[] = "http://twitter.com/statuses/user_timeline"; 

if(beginsWithOneOfThese($url, $validUrls)) { 
    $user_agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookie"); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); 
    curl_setopt($ch, CURLOPT_VERBOSE, 0); 
    echo curl_exec($ch); 
} else 
    echo "invalid url"; 

function beginsWithOneOfThese($main, $prefixes) { 
    foreach($prefixes as $prefix) { 
    if(beginsWith($main, $prefix)) 
     return true; 
    } 
    return false; 
} 

function beginsWith($main, $prefix) { 
    return strpos($main, $prefix) === 0; 
} 

?> 

因此,它使我纳闷:

  • 为什么会有这么多的网址是否不支持clientaccesspolicy与否的讨论,因为你只需要WRI te a 简单代理脚本并通过它获取信息?
  • 为什么没有服务,例如,像URL缩短服务,其中供应这个功能?
  • 有什么安全影响有这样的脚本?

回答

2

虽然您可能认为代理具有与客户端发出请求相同的功能,但它不会。更具体地说,您不会拥有目标站点的客户端Cookie /凭证,并且在某些情况下,客户端可以访问目标站点,但代理服务器无法访问(例如Intranet)。

http://blogs.msdn.com/ieinternals/archive/2009/08/28/Explaining-Same-Origin-Policy-Part-1-Deny-Read.aspx解释了一定长度的同源策略。

根据您的代理的安全含义 - 这取决于您是否具有访问控制权。如果没有,一个坏人可能会使用你的代理来隐藏他的踪迹,因为他侵入网站或下载非法内容。

+0

是的,这是有道理的,例如,我遇到了无法关注重定向网站的问题,但似乎我可以访问开放互联网上的任何公开文本文档,例如所有RSS源,发布的Google文档,任何公共网站。 – 2010-03-20 19:47:22

+0

是否有任何提供此功能的公共服务?我认为收集正在被URL访问的URL类似于通过URL缩短服务收集的URL是很有价值的,然后所有的安全性都可以集中在一个点上 – 2010-03-20 19:49:55

+0

好吧,我为你添加了URL访问控制建议,好点。 – 2010-03-21 06:03:40

相关问题