アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。

現在PHPでページを作っているのですが、

./index.php?h=index.html

といったようにindex.phpファイル上に同じ階層にあるファイルを読み込んでいます。

ここに他のサーバーにおいてあるファイル(例:http://www.goo.ne.jp/sample.html)を読み込むことは可能なのでしょうか?
それともやはり同一階層・ドメイン内にあるものしか読み込めないのでしょうか?

分かりにくい質問で申し訳御座いません。
よろしくお願い致します。

A 回答 (3件)

蛇足ですがurlはきちんとエンコードしてパラメータ渡ししてください


http://hoge/index.php?h=http%3A%2F%2Fwww.yahoo.c …

<?PHP
$url=$_GET["h"];
if(url_exists($url))
print htmlspecialchars(file_get_contents($url));

function url_exists($url){
$handle = @fopen($url, "r");
if ($handle === false)
return false;
fclose($handle);
return true;
}
?>
    • good
    • 1

php.iniの設定で、allow_url_fopen が有効であれば、http:// というurl表記でファイルをfopen()やfile()関数で取得出来ます。


http://php.s3.to/man/ref.filesystem.html#ini.all …
セキュリティには十二分にご注意下さい。

参考URL:http://php.s3.to/man/ref.filesystem.html#ini.all …
    • good
    • 0

がると申します。


スキーマがhttpであれば一応可能ですが。

そのつくりは、ものすごく簡単に「ディレクトリトラバーサル(パストラバーサル)」という脆弱性を生みます。
基本的には「やめる」か、でなければ「よほど神経配って知識しっかり得て作る」ほうがよろしいかと思われます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!