アンチホットリンク
偽造されたリファラーのサンプルコードは、主に画像やソフトウェアなどのアンチリーチングを突破するために使用されます。
完全なプログラムはここに直接提供されており、特定のアプリケーションに合わせて自分で変更できます。
ここで挙げた例は非常に単純です。実際、この例から多くのアプリケーションを開発できます。たとえば、実際の URL アドレスを隠すとか… ふふ、自分で解析してください
ここで新しいファイル file.php を作成します。次のパラメータは、偽造する必要があるリファファーのターゲット アドレスです。例: file.php/http://www.xxx.xxx/xxx.mp3
コード:
-
$url- =str_replace('/file.php/','',$_SERVER[" REQUEST _ URI「]) ; //変換する必要がある URL を取得します。私はここで怠けているだけで、安全性のチェックは行っていません
$downfile- =str_replace(" ","%20",$url);//スペースカテゴリを置換できますに基づく実際の状況を置き換えてください
$downfile- =str_replace("http://","",$downfile);// http:// を削除
$urlarr- =explode("/",$downfile);//ドメイン名を分解するには「/」を使用します
$domain- =$urlarr[0];//ドメイン名
$getfile- =str_replace($urlarr[0],'',$downfile);//ヘッダーを取得の一部
$content- = @fsockopen("$domain", 80, $errno, $errstr, 12) ; //に接続しますターゲットホスト
if- (!$content){//リンクが利用できない場合は、エラーメッセージが表示されます
die- (「申し訳ありませんが、$domain に接続できません。」);
}
- fputs
(- $content, "GET $getfile HTTP/1.0rn");
fputs(
$content- , "ホスト: $domainrn");
fputs($content
, - "Referer: $domainrn");//偽の部分
fputs($content
, - "ユーザーエージェント: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1)rnrn");
ながら (!feof(
$content- )) {
$tp.=fgets(
$content- , );
if (strstr(
$tp- ,"200 OK")){//ここで説明があります。通常、ヘッダーの最初の行は、要求されたファイルのステータスです。詳細については、「HTTP 1.1 ステータス コードとその意味」を参照してください。hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html これは通常のファイル リクエスト ステータスであり、直接リダイレクトするだけです。他の状態でもプログラムの実行を継続します
- header("場所:$url");
死ね- ();
}
} -
- //302 転用、ほとんどのアンチホットリンク システムは、最初にリファファーを決定し、それが正しければ実際のアドレスにリダイレクトします。実際のアドレスを取得するには以下のようにします。
-
$arr=
- explode("n",$tp);
$arr1=explode
(- "Location: ",$tp);//Locationの背後にあるリアルタイムアドレスを抽出します
$arr2=explode
(- "n",$arr1[1]);
header('Content-Type:application/force-download');//強制ダウンロード
- header("location:".[0]);//方向目標アドレス
-
死ね();
上記のコードは、リファラーを使用してホットリンクされているかどうかを判断するホットリンク防止システムにのみ使用できます。ホットリンクを防ぐ他の特別なメソッドには適用されません。
- <スパン 例: <スパン
- $txt=$_GET['url'];
- echo referfile($txt,'http://www.jbxue.com/');
-
-
- 関数 referfile($url,$refer='') {
- $opt=array('http'=>array('header'=>"リファラー:$refer" ));
- $context=stream_context_create($opt);
- ヘッダー("場所:".$url);
- return file_get_contents($url,false,$context);
- }
-
- $host = "pakey.net";
- $target = "/test.asp";
- $referer = "http//uuwar.com/"; //伪造来路页面
- $fp = fsockopen($host, 80, $errno, $errstr, 30);
- if(!$fp){
- echo "$errstr($errno)>n";
- }else{
- $out = "
- GET $target HTTP/1.1
- ホスト: $host
- リファラー: $リファラー
- 接続: 閉じるrnrn";
-
-
- fwrite($fp, $out);
- ながら(!feof($fp)){
- echo fgets($fp, 1024);
- }
- fclose($fp);
- }
- ?>
http://www.bkjia.com/PHPjc/743818.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/743818.html技術記事アンチホットリンク偽リファラーのサンプルコードは、主に画像やソフトウェアなどのアンチホットリンクを突破するために使用されます。 完全なプログラムはここで直接提供されます。特定のアプリケーションに合わせて自分で変更できます。 ...