Foxtable(狐表)用户栏目专家坐堂 → 如何禁止上传".wmf",".js",".css" ,".html",".htm",".zip",".rar" 文件


  共有1768人关注过本帖树形打印复制链接

主题:如何禁止上传".wmf",".js",".css" ,".html",".htm",".zip",".rar" 文件

帅哥哟,离线,有人找我吗?
zhangjian222200
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
如何禁止上传".wmf",".js",".css" ,".html",".htm",".zip",".rar" 文件  发帖心情 Post By:2017/8/20 18:07:00 [只看该作者]

如何禁止上传".wmf",".js",".css" ,".html",".htm",".zip",".rar" 文件
居然还有人上传成功.exe后缀名图片
Dim e As RequestEventArgs = args(0)                            '注册第7页,上传照片
Dim wb As New weui

    wb.AddTopTips("","toptip1","") '用于显示动态错误提示
    
    wb.AddForm("","form1","valid_images.htm")
    With wb.AddInputGroup("form1","ipg1","展示照(选择1张靓照即可)") '文件上传(1个)
        With.AddUploader("up1","",False)
        .AllowDelete = True '允许用户删除图片
        .ScaleWidth = 400 '自动压缩图片宽度为400个像素,高度等比例压缩
    End With
End With
With wb.AddInputGroup("form1","ipg22","生活照(选择3张以上靓照)") '带图片浏览的文件上传(最少4个)
    With.AddUploader("up4","",True) 'True表示允许一次上传多个文件
    .AllowDelete = True '允许删除
    .Incremental = True '允许 重复选择文件或连续拍照
    .ScaleWidth = 400 '自动压缩图片宽度为400个像素,高度等比例压缩
End With
End With
With wb.AddButtonGroup("form1","btg1",True)
    .Add("btn1", "提交", "button").Attribute= "" '调用js函数上传
End With
wb.AddToast("","tst1", "正在上传",1)
wb.AddToast("","tst2", "上传成功",0)
wb.AddToast("","tst3", "上传失败",0).Icon= "warn"

wb.AppendHTML("<script src='./lib/ajaxform_images.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页

js代码:
function validit_images(){
  var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
  var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
  //alert(v1 + " " + v2);
 if(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);
  return false;
  }
 if(v1 > 1){
  showTopTips("toptip1","展示照只可以上传1张!",2000);
  return false;
  }
 if(v2 < 3){
  showTopTips("toptip1","请选择3张以上生活照上传!",2000);
  return false;
  }
 if(v2 > 9){
  showTopTips("toptip1","生活照最多可以上传9张!",2000);
  return false;
  }
  show("tst1",2000);
  var result = submitAjaxForm('form1','afterSubmit');
}
function afterSubmit(result){
  hide("tst1");
 if (result=='OK') {
  show("tst2");
  location="success.htm";
  }
 else{
    show("tst3",2000);
  }
}
[此贴子已经被作者于2017/8/20 18:21:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/20 18:26:00 [只看该作者]

方法一:在你httprequest事件处理,判断上传的文件名,根据后缀名判断,最后你保存的时候,不是自由控制么?

 

方法二:在js里面直接判断,foxtable的weui.me.js已经做了判断的啊 previewFile 函数


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/8/20 18:48:00 [只看该作者]

1楼js补充下述粉色部分,行么?
function validit_images(){
  var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
  var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
  //alert(v1 + " " + v2);
  var ary1 = document.getElementById("up1_thumbnails").split(".")
  var ary4 = document.getElementById("up4_thumbnails").split(".")
  if(ary1[1] <> 'jpg' or ary1[1] <> 'jpeg' or ary1[1] <> 'png' or ary1[1] <> 'gif' or ary1[1] <> 'bmp'){ 
     showTopTips("toptip1","请上传正确的文件格式!",2000);
     return false;
  }
  if(ary4[1] <> 'jpg' or ary4[1] <> 'jpeg' or ary4[1] <> 'png' or ary4[1] <> 'gif' or ary4[1] <> 'bmp'){ 
     showTopTips("toptip1","请上传正确的文件格式!",2000);
     return false;
  }
 if(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);
  return false;
  }
 if(v1 > 1){
  showTopTips("toptip1","展示照只可以上传1张!",2000);
  return false;
  }
 if(v2 < 3){
  showTopTips("toptip1","请选择3张以上生活照上传!",2000);
  return false;
  }
 if(v2 > 9){
  showTopTips("toptip1","生活照最多可以上传9张!",2000);
  return false;
  }
  show("tst1",2000);
  var result = submitAjaxForm('form1','afterSubmit');
}
function afterSubmit(result){
  hide("tst1");
 if (result=='OK') {
  show("tst2");
  location="success.htm";
  }
 else{
    show("tst3",2000);
  }
}

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/20 19:39:00 [只看该作者]

var frm = document.getElementById("form1");
var frmdata = new FormData(frm);
if (frm.incremental) {
    var fluds = frm.getElementsByClassName("weui_uploader_input");
    for (var idx = 0; idx < fluds.length; idx++) {
        var files = fluds[idx].Files;
        if (files) {
            for (var i = 0; i < files.length; i++) {
                alert(files[i].blobFile);
                var fln = files[i].blobFile
                if (typeof(fln) == "undefined") {
                    alert("文件格式不正确");
                    return false;
                }
                fln = fln.substring(fln.lastIndexOf(".") + 1).toLowerCase();
                switch (fln) {
                case "jpg":
                case "jpeg":
                case "png":
                case "gif":
                case "bmp":
                case "wmf":
                    break;
                }
            }
        }
    }
}


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/8/20 21:14:00 [只看该作者]

将楼上代码插入到1楼js代码内,可以?
function validit_images(){
  var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length;
  var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length;
  //alert(v1 + " " + v2);

var frm = document.getElementById("form1");
var frmdata = new FormData(frm);
if (frm.incremental) {
    var fluds = frm.getElementsByClassName("weui_uploader_input");
    for (var idx = 0; idx < fluds.length; idx++) {
        var files = fluds[idx].Files;
        if (files) {
            for (var i = 0; i < files.length; i++) {
                alert(files[i].blobFile);
                var fln = files[i].blobFile
                if (typeof(fln) == "undefined") {
                    alert("文件格式不正确");
                    return false;
                }
                fln = fln.substring(fln.lastIndexOf(".") + 1).toLowerCase();
                switch (fln) {
                case "jpg":
                case "jpeg":
                case "png":
                case "gif":
                case "bmp":
                case "wmf":
                    break;
                }
            }
        }
    }
}

 if(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);
  return false;
  }
 if(v1 > 1){
  showTopTips("toptip1","展示照只可以上传1张!",2000);
  return false;
  }
 if(v2 < 3){
  showTopTips("toptip1","请选择3张以上生活照上传!",2000);
  return false;
  }
 if(v2 > 9){
  showTopTips("toptip1","生活照最多可以上传9张!",2000);
  return false;
  }
  show("tst1",2000);
  var result = submitAjaxForm('form1','afterSubmit');
}
function afterSubmit(result){
  hide("tst1");
 if (result=='OK') {
  show("tst2");
  location="success.htm";
  }
 else{
    show("tst3",2000);
  }
}

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/20 21:32:00 [只看该作者]

我测试没问题。

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/8/20 22:10:00 [只看该作者]


var frm = document.getElementById("form1");
var frmdata = new FormData(frm);
if (frm.incremental) {
    var fluds = frm.getElementsByClassName("weui_uploader_input");
    for (var idx = 0; idx < fluds.length; idx++) {
        var files = fluds[idx].Files;
        if (files) {
            for (var i = 0; i < files.length; i++) {
                alert(files[i].blobFile);
                var fln = files[i].blobFile
                if (typeof(fln) == "undefined") {
                    alert("文件格式不正确");
                    return false;
                }
                fln = fln.substring(fln.lastIndexOf(".") + 1).toLowerCase();
                switch (fln) {
                case "jpg":
                case "jpeg":
                case "png":
                case "gif":
                case "bmp":
                case "wmf": 1.如果图片格式是wmf,
中断执行,是这样吗?

                    break;
                }
            }
        }
    }
}


 2.中断执行后,继续执行下述代码吗?

 if(v1 < 1){
  showTopTips("toptip1","请选择1张展示照上传!",2000);
  return false;
  }
***更多代码*****

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/20 22:16:00 [只看该作者]

var frm = document.getElementById("form1");
var frmdata = new FormData(frm);
if (frm.incremental) {
    var fluds = frm.getElementsByClassName("weui_uploader_input");
    for (var idx = 0; idx < fluds.length; idx++) {
        var files = fluds[idx].Files;
        if (files) {
            for (var i = 0; i < files.length; i++) {
                alert(files[i].blobFile);
                var fln = files[i].blobFile
                if (typeof(fln) == "undefined") {
                    alert("文件格式不正确");
                    return false;
                }
                fln = fln.substring(fln.lastIndexOf(".") + 1).toLowerCase();
                switch (fln) {
                case "jpg":
                case "jpeg":
                case "png":
                case "gif":
                case "bmp":

                    break;

                default:

                    alert("格式错误");

                    return false;
                }
            }
        }
    }
}


 回到顶部