如何使用php代理将网站加载到iframe中? [英] How to use a php proxy to load a site into a iframe?
问题描述
我尝试将我在URL中设置的随机页面加载到iframe中.假设我尝试在iframe中加载" https://www.google.de ".
<iframe src="<?php echo $_GET['URL'];?>" width="600" height="500"></iframe>
这是我设置网址的方式:
localhost/test/index.php?URL=https://www.google.de
仅加载空白页.我知道原因是Google正在发送"X-Frame-Options:SAMEORIGIN"响应标头.
但是,无论如何,我试图找到一种加载方法,有人告诉我使用PHP代理脚本来执行此操作,但是我进行了研究,发现仍然没有任何帮助.
我该如何解决?
如果您在任何代理服务器后面,并希望使用身份验证绕过代理URL,域,用户名,密码,请使用此脚本取消注释代理行. /p>
我使用了header("Access-Control-Allow-Origin: *");
,因为我是从其他域调用此脚本的.
文件:proxyscript.php
<?php
header("Access-Control-Allow-Origin: *");
echo get_page($_GET['url']);
//echo get_page("http://www.google.com");
function get_page($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
/*
$proxy = 'http://proxy.company.com:8080';
$proxyauth = 'domain\proxy_username:proxy_password';
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
文件:index.html
<html>
<head>
<script>
function getURL(url){
document.getElementById('frame').src
= 'path/to/proxyscript.php?url='+encodeURIComponent(url);
}
</script>
</head>
<body>
<button onclick="getURL( 'http://www.google.com')">Google</button>
<iframe id="frame" src=""></iframe>
</body>
</html>
I try to load a random page which I set in my URL, into an iframe. Let's say I try to load "https://www.google.de" in an iframe.
<iframe src="<?php echo $_GET['URL'];?>" width="600" height="500"></iframe>
This is how I set the URL:
localhost/test/index.php?URL=https://www.google.de
Only a blank page is loaded. I know the reason for this is that Google is sending an "X-Frame-Options: SAMEORIGIN" response header.
However, I try to find a way to load it anyway, someone told me to use a PHP Proxy script to do this, but I researched and found nothing helpful yet.
How can I solve this?
Use this script uncomment the proxy lines if you are behind any proxy server and want to bypass it using the authentication the proxy url, domain, username, password.
I used header("Access-Control-Allow-Origin: *");
Since I was calling this script from a different domain.
File: proxyscript.php
<?php
header("Access-Control-Allow-Origin: *");
echo get_page($_GET['url']);
//echo get_page("http://www.google.com");
function get_page($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
/*
$proxy = 'http://proxy.company.com:8080';
$proxyauth = 'domain\proxy_username:proxy_password';
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
File: index.html
<html>
<head>
<script>
function getURL(url){
document.getElementById('frame').src
= 'path/to/proxyscript.php?url='+encodeURIComponent(url);
}
</script>
</head>
<body>
<button onclick="getURL( 'http://www.google.com')">Google</button>
<iframe id="frame" src=""></iframe>
</body>
</html>
这篇关于如何使用php代理将网站加载到iframe中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!