多くの友人がダウンロード サイトを構築していますが、深刻な盗難に遭うことが多いため、この方法を使用して実際のダウンロード アドレスを隠すことができます。他の人が特定のダウンロード アドレスを見られないようにします。次のようにコードをコピーします。
<% 関数 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(ダウンロードアドレス)%>