この例から多くのアプリケーションを開発できます。たとえば、実際の 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 に接続できません。");
} www .jbxue.com
fputs($content, "GET $getfile HTTP/1.0rn"); $domainrn");
fputs($content, "Referer: $domainrn");/ /偽の部分
fputs($content, "User-Agent: Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1)rnrn") ;
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ //ここでいくつかの説明。通常、ヘッダーの最初の行は、要求されたファイルのステータスです。詳細については、「HTTP 1.1 ステータス コードとその意味」を参照してください。hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html これは通常のファイル リクエスト ステータスであり、直接リダイレクトするだけです。他の状態でもプログラムの実行を継続します
die();
//302 リダイレクト。ほとんどのホットリンク対策システムは、最初にリファファーを決定し、それが正しい場合は実際のアドレスにリダイレクトします。実際のアドレスを取得するには以下のようにします。
$arr=explode("n",$tp);
$arr1=explode("Location: ",$tp);//Location の背後にあるリアルタイムアドレスを分解する
header('Content-Type:application/force-download');//強制ダウンロード
header("location:".$arr2[0]);//ターゲットアドレスにリダイレクトします
die ();
?>
このプログラムは、ホットリンクされているかどうかを判断するためにリファラーを使用するホットリンク防止システムにのみ使用できます。ホットリンクを防ぐために他の特別な方法が使用されている場合、この推定は適用されません。
http://www.bkjia.com/PHPjc/729850.html
www.bkjia.com