<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %><%@page import="webber.core.*, java.io.*, webber.vsb.storage.util.StorageUtil, webber.vsb.storage.util.StorageFile, webber.wbst.com.download.*, java.util.regex.Pattern, java.util.regex.Matcher" %><% response.setHeader("Cache-Control", "no-store"); // HTTP 1.1 response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setDateHeader("Expires", 0); //判斷refer, 禁止盜鏈 String useragent = request.getHeader("User-Agent"); String referer = request.getHeader("referer"); boolean isShowCode = false;//是否要輸入驗證碼 boolean isweixin = false;//是否微信 boolean isandroids = false;//是否androids 初始值是true String androidsReg = "\\bandroids|Nexus\\b"; Pattern androidsPat = Pattern.compile(androidsReg, Pattern.CASE_INSENSITIVE); // 匹配 Matcher matcherandroids = androidsPat.matcher(useragent); if(matcherandroids.find()){ isandroids = true; } String message = ""; if(useragent.indexOf("MicroMessenger") != -1 || useragent.indexOf("micromessenger") != -1){ isweixin = true; } //獲取session 看是不是已經輸入過驗證碼🕵🏽,如果沒有輸入過🙋🏼,再判斷refer boolean needref = session.getAttribute("filedownload_action")==null?true:false; if(needref){//沒有session的 情況下 需要判斷 ref //判斷用戶動作,是第一次打開還是提交 String codevalsue=StringUtil.getParameter(request,"codevalsue",""); if(!"".equals(codevalsue))//提交過來的 { String rand = ""; if(session.getAttribute("filedownloadrand") != null){ rand = session.getAttribute("filedownloadrand").toString(); } if(codevalsue.equals(rand))//驗證碼正確 { session.setAttribute("filedownload_action","download"); }else{ message = "驗證碼錯誤,請重新輸入。"; isShowCode = true; } }else{ if(referer == null || referer.equals("")) { if(useragent != null && useragent.indexOf("VSBEmulator") != -1) { out.println("\r\n模擬器不支持下載!"); return; }else{ isShowCode = true; } }else{ //LSS下request.getScheme()不能準確或取 if(!referer.startsWith("http://" + request.getServerName())&&!referer.startsWith("https://" + request.getServerName())) { isShowCode = true; } } } } if(!isShowCode){ //獲取下載文件鏈接 DownLoadNewsAttach attach = null; try { attach=new DownLoadNewsAttach(request); } catch(Exception e) { out.print("\r\n
" + StringUtil.escapeHTMLTags(e.getMessage()) + "
"); return; } String url=attach.getUrl(); //更新瀏覽次數 if(request.getHeader("Range") == null) attach.updateBrowerTimes(); String filename=attach.getFilename(); //如果是雲文件庫 if(StorageUtil.isVsl(url)) { StorageFile sf=new StorageFile(StorageUtil.vsl2Mark(url)); String s=sf.getDownloadURL(request); pageContext.forward(WebberFileSystem.getWebberServletUrl(request,s+"&filename="+StringUtil.encodeURL(StringUtil.encodeBase64(filename)))); return; } else { String downurl = attach.getRealUrl(); if(!downflowctrl.downStart(request, response, downurl)) return; try { String filetype= "application/octet-stream";// 告訴客戶端為文件流 response.reset(); response.setContentType(filetype); response.setHeader("Content-disposition", "attachment; filename=" + StringUtil.encodeDownloadFileName(request, filename.replaceAll(" ", "vsb_space_vsb")).replaceAll("vsb_space_vsb", "%20")); //直接轉向此文件,交給tomcat自己處理🧑🏻‍🦯,這樣可以支持斷點續傳 boolean con = downurl.contains("?"); request.getRequestDispatcher(downurl+(con ? "&":"?")+"r="+StringUtil.getUUID()).forward(request, response); } catch(Exception e) { //System.out.println(e.getMessage()); } finally { downflowctrl.downEnd(request, response, downurl); } } }else{ response.setContentType("text/html; charset=UTF-8"); String urltype = StringUtil.getParameter(request,"urltype",""); String owner = StringUtil.getParameter(request,"owner",""); String wbfileid = StringUtil.getParameter(request,"wbfileid",""); %> 附件下載

摩鑫娱乐

摩鑫娱乐網站xml地圖


<% if(isweixin && isandroids){ %>
如果下載沒有開始,請點擊右上角“...” 選擇“在瀏覽器打開”。
<%}else{%>

請輸入驗證碼下載附件

<%=message%>

<%}%>
摩鑫娱乐
    <%}%>