PHP

PHP5のこと。

[`evernote` not found]
LINEで送る
Pocket

PHP4のサポートが終了してから、結構な時間が経ち、レンタルサーバーでもPHP4を打ち切るところが出てきましたが、

変更点の一つが、

php.iniのallow_url_fopenがデフォルトではoffであることです。

ってことは、http経由でごにょごにょしている人には、file関数とか、fopenとかに問題がでる恐れがあります。

それを回避するには、様々な方法がありますが、一つには、socket通信する、という方法があります。

使い方はこんなふうです。要はPHPでtelnetしてる感覚ですね。

ちなみに、以下の例では、80番ポートと決めうちしてアクセスしているので、サイトによっては別途ポートを指定する必要があります。

 

$domain = "www.hi-farm.net"; // 対象ドメイン

$file = "sample.php"; // URL以下のパス(GETも使えます)

$fp = fsockopen($domain, 80, $errno, $errstr, 4); // 80番ポートに接続

$out = "GET /{$file} HTTP/1.1\r\n"; 

$out .= "Host: {$domain}\r\n";

$out .= "Connection: Close\r\n\r\n";

 

fwrite($fp, $out);

stream_set_timeout($fp, 4);

 

while(!feof($fp))

{

	$file_data0 .= fget($fp);

}

fclose($fp);

 

セキュリティうんぬんはわかるので、PHP側での対応はわかるけど、php.iniでしか変えれないのよね。。。

レンタルサーバーやっている業者さんは、単に「変更されますので準備しろ」だけでなくて、テストする環境を用意してくれよ

って思います。。。

 

ぐちってしまった。。。

Leave a Reply

Your email address will not be published.

CAPTCHA