中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

Ajaxのセキュリティ警告の画期的な回避策?

IEの標準のセキュリティレベルで、自宅のPCからAjaxでインターネット上のWebサービスにアクセスすると「このページは、制御範囲外の情報にアクセスしています。セキュリティ上の問題がある可能性があります。」という警告が出てしまいます。FirefoxGoogle Chromeでは、警告は出ませんが、天気予報が表示できません。

この問題の回避策をネットで調べても回答が見つかりませんでした。

ふと、PHPのfile_get_contentsでネット上のホームページファイルを取得できることを思い出しました。

サーバサイドで、一旦これを使ってWebサービスXMLデータを取得して、クライアントに返せば回避できるかもと思ってやってみたところ、うまくいきました。

これで、IEの警告画面が出なくなり、FirefoxGoogle Chromeでも天気予報を表示できるようになりました。

自分では、画期的な回避策だと思っているのですが、どうなんでしょう。みなさん、知っていることなんでしょうか。それとも、もっとスマートな方法があるのでしょうか?

一応、中間バッファ処理のソースを載せておきます。

$url ="[]http://weather.livedoor.com/forecast/webservice/rest/v1?city=[]".$_GET['city']."&day=".$_GET['day'];
$contents = file_get_contents($url);
header("Content-type: text/xml");
header("Cache-Control: no-cache");
print $contents;