PHP proxy script for cross domain issue

E-mail 列印 PDF

在 flash 跟 ajax 的程式的開發者有時會碰到 cross-domain 的安全限制。
雖然是為了防止有心人士從中動手腳,但是對我們正牌的開發人員卻非常的不友善。
解決的方法大概是使用 proxy 的技術,網路上找到一些 php proxy script,
不過都是針對 xml request 來寫的,於是我加了幾行,讓這支 script 能使用在更多的 content-type。

<?php
$ch = curl_init();
$timeout = 30;
$userAgent = $_SERVER['HTTP_USER_AGENT'];

curl_setopt($ch, CURLOPT_URL, $_REQUEST['url']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);

$response = curl_exec($ch);     

if (curl_errno($ch)) {
	echo curl_error($ch);
} else {
	$info = curl_getinfo($ch);
	curl_close($ch);
	
	header("Content-Type: ".$info['content_type']);
	echo $response;
}
?>