多くの携帯電話着信音 Web サイトには独自の反リーチ プログラムがありますが、このプログラムは紳士のみを防ぐように設計されており、泥棒を防ぐようには設計されていません。この機能を簡単に紹介します。ASP オブジェクト ServerVariables (サーバー環境変数) が使用され、この環境変数を通じて実際のダウンロード アドレスが取得され、いくつかの単純な VBS 組み込み関数によって実際のアドレスの整合性が破棄されます。ソフトウェアのダウンロードをだます機能を実現します。ソースコードは誰でも学べるように添付されています。
次のようにコードをコピーします。
<% 関数 DownloadFile(StrFIle)
StrFIlename=StrFIle
Response.Buffer=True
応答.クリア
S=Server.CreateObJect(ADODB.Stream) を設定します。
S.オープン
S.タイプ=1
エラー時は次へ再開
Set Fso=Server.CreateObJect(ScrIptIng.FIleSystemObJect)
Fso.FIleExists(StrFIleName) でない場合
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(Request.ServerVarIables(SERVER_NAME))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url then
Response.WrIte ファイルが存在しないか、削除されました。
応答.終了
終了の場合
Response.RedIrect Request.ServerVarIables(HTTP_REFERER)
応答.終了
終了の場合
FileExt=MId(StrFIlename,InStrRev(StrFIleName, .)+1)
ケースの選択 UCase(FIleExt)
ケース ASP、ASA、ASPX、ASAX、MDB、PHP、JSP、SHTML、HTML、HTM、TV、DATA
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(Request.ServerVarIables(SERVER_NAME))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url then
Response.WrIte ファイルが存在しないか、削除されました。
応答.終了
終了の場合
Response.RedIrect Request.ServerVarIables(HTTP_REFERER)
応答.終了
エンドセレクト
F=Fso.GetFIle(StrFIlename) を設定します
IntFIlelength=F.SIZE
s.LoadFromFIle(StrFIlename)
エラーの場合はその後
From_Url=Cstr(Request.ServerVarIables(HTTP_REFERER))
Serv_Url=Cstr(Request.ServerVarIables(SERVER_NAME))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url then
Response.WrIte ファイルデータが不完全か破損しています。
応答.終了
終了の場合
Response.RedIrect Request.ServerVarIables(HTTP_REFERER)
応答.終了
終了の場合
Upload=Server.CreateObJect(PersIts.Upload) を設定します
アップロードしても何も起こらない場合
Response.AddHeader Content-DISposItIon,attachment; ファイル名=&F.Name
Response.AddHeader Content-Length,IntFilelength
Response.CharSet=UTF-8
Response.ContentType=アプリケーション/x-ダウンロード
Response.BinaryWrite S.Read
レスポンス.フラッシュ
S.閉じる
s=NothIn を設定します
それ以外
Upload.SendBinary StrFIlename,True,application/x-download,False
終了の場合
終了機能
%>
<%Call DownloadFIle(DownloadFIle)%> を使用します。