var FormFileUpload = function() {
  return {
    init: function() {
      $('#fileupload').fileupload({
        disableImageResize: false,
        autoUpload: false,
        disableImageResize: /Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent),
        maxFileSize: 5000000,
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
        {
          withCredentials: true
        },
      });
      $('#fileupload').fileupload('option', 'redirect', window.location.href.replace(/\/[^\/]*$/, '/cors/result.html?%s'));
      if ($.support.cors) {
        $.ajax({
          type: 'HEAD'
        }).fail(function() {
          $('<div class="alert alert-danger"/>')
            .text('Upload server currently unavailable - ' + new Date())
            .appendTo('#fileupload');
        });
      }

      $('#fileupload').addClass('fileupload-processing');
      $.ajax({
          withCredentials: true
        },
        url: $('#fileupload').attr("action"),
        dataType: 'json',
        context: $('#fileupload')[0]
      }).always(function() {
      $(this).removeClass('fileupload-processing');
    }).done(function(result) {
      $(this).fileupload('option', 'done')
        .call(this, $.Event('done'), {
          result: result
        });
    });
  }

};

}();

jQuery(document).ready(function() {
  FormFileUpload.init();
});



我需要绕过文件上传规则,
像此脚本一样,只允许gif,jpeg,png,
我需要上传其他格式吗
像php,text等。
有什么办法可以绕过它们。我要在我的网站上添加此脚本。这样任何人都可以绕过它们,这对我的网站是必不可少的。

最佳答案

您只需要在acceptFileTypes验证正则表达式中添加所需的扩展名,例如,如果要添加.php和.txt,请按如下所示更改正则表达式

acceptFileTypes: /(\.|\/)(gif|jpe?g|png|txt|php)$/i,


因此,无论您需要添加什么文件扩展名,只需使用|符号添加即可。此管道符号在正则表达式中用于OR表示法



请注意:不允许所有文件类型,因为这将违反安全性,并可能导致攻击者出现漏洞。有人也可以上传恶意脚本,因此您在这里需要非常小心

关于javascript - 如何绕过jQuery验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44148741/

10-09 00:35