我已使用cURL解决方案来解决XSS,但存在问题。 我proxy.php文件的内容是: -未执行PHP脚本
<?php
$url = "http://www.yahoo.com";
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
而且我这是如何试图执行PHP脚本
$("#tempButton").click(function(){
$("#pageContent").load('http://localhost:8080/proof/proxy.php',function() {
var t = $("#pageContent").html();
alert(t);
});
});
但变量t显示proxy.php文件的内容,但它是预计将显示在proxy.php文件中设置的yahoo.com的内容。我在做些愚蠢的事情吗? #FirstTimePHP
将http:// localhost:8080 /从http:// localhost:8080/proof/proxy.php中删除,它应该只是'/proof/proxy.php'。此外,检查萤火虫和/或铬检查器的错误细节。 – jpic 2012-04-02 11:01:03
尝试直接访问您的页面(只需浏览到proxy.php),或使用Firebug的Net标签(或任何等效工具)检查请求的输出 – TJHeuvel 2012-04-02 11:01:06
您可能没有在您的Web服务器中注册PHP。如果是这样,当从网络访问它时,你永远不应该看到''标签内的php文件的_content_。 – 2012-04-02 11:01:07