ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで http ヘッダーを偽造してアンチホットリンク コードをクラックする

PHP_PHP チュートリアルで http ヘッダーを偽造してアンチホットリンク コードをクラックする

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

偽造されたリファラーのサンプル コードは、主に画像、ソフトウェアなどのアンチホットリンクを突破するために使用されます。

完全なプログラムはここで直接提供されており、特定のアプリケーションは自分で変更できます。
ここで挙げた例は非常に単純です。実際、この例から多くのアプリケーションを開発できます。たとえば、実際の 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);//ヘッダーのGET部分を取得します
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//ターゲットホストに接続します
if (!$content){//リンクが接続できない場合はエラーが発生しますプロンプトが表示されます
die("申し訳ありませんが、$domain に接続できません。");
}
fputs($content, "GET $getfile HTTP/1.0rn");
fputs($content, "Host: $domainrn");
fputs($content, "Referer: $domainrn");//偽の部分
fputs ($content, "User-Agent: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1)rnrn"); feof($content)) {
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ //ここでいくつかの説明。通常、ヘッダーの最初の行は、要求されたファイルのステータスです。詳細については、「HTTP 1.1 ステータス コードとその意味」を参照してください。hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html これは通常のファイル リクエスト ステータスであり、直接リダイレクトするだけです。他の状態でプログラムを実行し続ける
header("Location:$url");
die()
}
}
//302 リダイレクト、ほとんどのアンチホットリンク システムは最初にリファファーを決定し、次に実際のリファファーにリダイレクトします。正しければ、のアドレス。実際のアドレスを取得するには以下のようにします。
$arr=explode("n",$tp);
$arr1=explode("Location: ",$tp);//Location の背後にあるリアルタイムアドレスを分解する
$arr2=explode("n",$ arr1[1]);
header('Content-Type:application/force-download');//強制ダウンロード
header("location:".$arr2[0]);//ターゲットアドレスにリダイレクトします
die () ;
?>



このプログラムは、ホットリンクを防ぐためにリファラーを使用するアンチホットリンク システムにのみ使用できます。

コードをコピーします コードは次のとおりです:
$txt=$_GET['url'];
echo Referfile($txt,'http://www.jb51.net/');

function Referfile($url,$refer=' ') {
$opt=array('http'=>array('header'=>"Referer:$refer"));
$context=stream_context_create( $opt);
Header("Location:". $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)< ;br />n";
}else{
$out = "
GET $target HTTP/1.1
ホスト: $host
リファラー: $referer
接続: Closernrn";

fwrite($fp, $out) ;
while(!feof($fp)){
echo fgets($ fp, 1024);
}


これは私の小説 Thief で使用したコードですYunxuan Pavilion の txt 電子書籍盗難防止リンクを解読します。



http://www.bkjia.com/PHPjc/322103.html
www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/322103.html技術記事偽のリファラーのサンプル コードは、主に、画像、ソフトウェアなどのアンチリーチングを突破するために使用されます。完全なプログラムはここに直接提供されており、特定のアプリケーションは自分で変更できます。 ここにあげます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。