ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してリファラーを偽造し、外部接続を禁止するネットワーク ディスクのコードを突破する_PHP チュートリアル

PHP を使用してリファラーを偽造し、外部接続を禁止するネットワーク ディスクのコードを突破する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:51:491025ブラウズ

たとえば、ファイル http://img.namipan.com/downfile/da333ee178bdad6531d1ec1540cf86277c116b6300887600/02.Paid%20In%20Full.mp3 を置きます。このアドレスは直接ダウンロードしたり、Web プレーヤーで再生したりすることはできません。クリックしてダウンロードして転送します。 . ダウンロードページに到着しました。このファイルを直接ダウンロードまたは再生できるようにするには、リファファーを偽造してサーバーを欺く必要があります。リファファーはナノディスクからのリンクです。

最初に使用する方法は、PHP の組み込み関数 stream_context_create を使用することです。

コードは次のとおりです:

function Referfile($url, $refer=”) {
$opt=array('http'=>array('header'=>”Referer: $refer”)) ;
$ context=stream_context_create( $opt);
return file_get_contents($url,false, $context);

しかし、このコードには実際には他のサーバーからファイルを読み取ってから、ブラウザに送信すると、自分のサーバーの負荷が高まるだけでなく、ダウンロードの応答が非常に遅くなります。これは良い解決策ではありません

自分のサーバーの負荷を軽減するために、後でマニュアルをもう一度読みました。ただし、自分のサーバーへの負荷も軽減します。ヘッダーの Referfer 情報を変更するだけです。 02.Paid%20In%20Full.mp3'';/ /ここの URL は除外する必要があります http://
$urlarr=explode(”/”,$url);
$domain=$urlarr[0];/ /ドメイン名を分解します
$getfile=str_replace($urlarr[0] ],",$url);
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//接続最初に相手のサーバーに送信します
if (!$content){//Unable リンクによりエラー メッセージが表示されます
die("Sorry, can connect to $domain.")
}
fputs($content, “GET $getfile HTTP/1.0rn”);
fputs($content, “ホスト: $domainrn” ”);
fputs($content, “リファラー: $domainrn”);//偽のリファファー
fputs($content, “User-Agent”) : Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1)rnrn”);

while (!feof($content)) {
$tp.=fgets($content, 128);内容: 場所: http://xxx/xxx.mp3、これがアドレスです。
}
$arr=explode("n",$tp);
$arr1=explode("場所: ",$tp);
$arr2=explode("n",$arr1[1]);// Location の後ろのアドレスを分解します:
header('Content-Type:application/force-download');
fclose($content);

OK、目的に達しました。

この元のアドレス: http://img.namipan.com/downfile/3a7c64518d46d986283eab73175a8b119305a76480b89200/Equilibrium-Turis_Fratir-02-Wingthors_Hammer.mp3

変換後: http://mms.music.krmcn.com/mms 。 music/namipan/img~~/3a7c64518d46d986283eab73175a8b119305a76480b89200/Equilibrium-Turis_Fratir-02-Wingthors_Hammer.mp3




http://www.bkjia.com/PHPjc/319077.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/319077.html

技術記事たとえば、ナノディスクに置いたファイルは http://img.namipan.com/downfile/da333ee178bdad6531d1ec1540cf86277c116b6300887600/02.Paid%20In%20Full.mp3 です。このアドレスは直接またはオンラインでダウンロードできません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。