亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jQuery uploadify在谷歌和火狐瀏覽器上傳失敗的解決方案

 更新時間:2015年08月05日 16:36:44   作者:秋荷雨翔  
jquery.uploadify插件是一個基于jquery來實現(xiàn)上傳的,這個插件很好用,每一次向后臺發(fā)送數(shù)據(jù)流請求時,ie會自動把本地cookie存儲捆綁在一起發(fā)送給服務器。但firefox、chrome不會這樣做,他們會認為這樣不安全,下面介紹下jQuery uploadify上傳失敗的解決方案

jquery.uploadify插件是一個基于jquery來實現(xiàn)上傳的,這個插件很好用,每一次向后臺發(fā)送數(shù)據(jù)流請求時,ie會自動把本地cookie存儲捆綁在一起發(fā)送給服務器。但firefox、chrome不會這樣做,他們會認為這樣不安全,下面小編給大家分享有關jQuery uploadify在谷歌和火狐瀏覽器上傳失敗的解決方案。

我是這樣解決的,這樣所有上傳文件的代碼都不需要修改,改動量最小,但是有安全隱患:

 

if (this.LoginInfo == null)
{
 // 解決uploadify兼容火狐谷歌瀏覽器上傳問題
 // 但是,此代碼使系統(tǒng)有安全隱患,F(xiàn)lash程序請求該系統(tǒng)不需要驗證
 // 要解決此安全隱患,需要Flash程序傳用戶名和密碼過來驗證,但是該用戶名和密碼不能寫在前端以便被不法用戶看到
 if (Request.UserAgent == "Shockwave Flash")
 {
  return;
 }
 else
 {
  filterContext.Result = RedirectToAction("LoginAgain", "Account", new { Area = "Auth" });
  return;
 }
}

我們的系統(tǒng)是ASP.NET MVC的,雖說通過加密的方式可以讓用戶看不到敏感信息,但惡意用戶不需要把敏感信息解密出來就可繞過系統(tǒng)驗證。
驗證信息不能直接寫前臺,可以用ajax從后臺獲取驗證信息,然后傳給flash,然后在攔截器中驗證。
修改后:
JS代碼:
ajax請求后臺獲取用戶名,傳給flash

$(function () {
 $.ajax({
  url: "/Auth/Account/GetUserNamePwd",
  type: "POST",
  dataType: "json",
  data: {},
  success: function (data) {
   $("#uploadify").uploadify({
    height: 25,
    width: 100,
    swf: '/Content/Plugins/UploadifyJs/uploadify.swf',
    uploader: 'UploadFile',
    formData: {
     userName: data.data.userName, //ajax獲取的用戶名
     pwd: data.data.pwd //ajax獲取的密碼
    },
    buttonText: '選擇文件上傳',
    fileSizeLimit: '4MB',
    fileTypeDesc: '文件',
    fileTypeExts: '*.*',
    queueID: 'fileQueue',
    multi: true,
    onUploadSuccess: function (fileObj, data, response) {
     var d = eval("(" + data + ")");
     $(".uploadify-queue-item").find(".data").html("  上傳完成");
     $("#url").val(d.url);
     $("#name").val(d.name);
    },
    onUploadError: function (event, ID, fileObj, errorObj) {
     if (event.size > 4 * 1024 * 1024) {
      alert('超過文件上傳大小限制(4M)!');
      return;
     }
     alert('上傳失敗');
    }
   }); //end uploadify
  }
 });
});  //end $

攔截器中代碼:
......

if (this.LoginInfo == null)
{ 
 // 解決uploadify兼容火狐谷歌瀏覽器上傳問題
 // 但是,此代碼使系統(tǒng)有安全隱患,F(xiàn)lash程序請求該系統(tǒng)不需要驗證
 // 要解決此安全隱患,需要Flash程序傳用戶名和密碼過來驗證,但是該用戶名和密碼不能寫在前端以便被不法用戶看到
 if (Request.UserAgent == "Shockwave Flash")
 {
  string userName = Request.Params["userName"];
  string pwd = Request.Params["pwd"];
  if (!string.IsNullOrWhiteSpace(userName) && !string.IsNullOrWhiteSpace(pwd))
  {
   AuthDAL authDAL = new AuthDAL();
   sys_user user = authDAL.GetUserInfoByName(userName);
   if (user != null && user.password == pwd)
   {
    return;
   }
  }
 }
 else
 {
  filterContext.Result = RedirectToAction("LoginAgain", "Account", new { Area = "Auth" });
  return;
 }
}

 

最近還總結個問題在jquery.uploadify上傳插件導致google崩潰 ,很讓人惱火,最后抓包看看到底什么原因,才發(fā)現(xiàn)原來谷歌在第一次請求時,它會把所有需要引用的文件放入本地緩存,而uploadify需要每次都能請求,所以最后導致了崩潰出現(xiàn)...

如何解決jquery.uploadify上傳插件導致google崩潰的問題呢?

解決辦法,可以在每個引用的文件后面加個隨機數(shù),讓它每次請求都帶個參數(shù),該問題則自動解決

相關文章

  • 深入理解.NET中的異步

    深入理解.NET中的異步

    異步編程是程序設計的重點,在實際的項目,在大量的數(shù)據(jù)入庫以及查詢數(shù)據(jù)并進行計算的時候,程序的UI界面往往卡死在那里,這時候就需要對計算時間限制的過程進行異步處理,同時正確的使用異步編程去處理計算限制的操作和耗時IO操作還能提升的應用程序的吞吐量及性能
    2021-06-06
  • C# Datatable的幾種用法小結

    C# Datatable的幾種用法小結

    這篇文章主要介紹了C# Datatable的幾種用法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#?連接本地數(shù)據(jù)庫的實現(xiàn)示例

    C#?連接本地數(shù)據(jù)庫的實現(xiàn)示例

    本文主要介紹了C#?連接本地數(shù)據(jù)庫的實現(xiàn)示例,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C#用記事本編寫簡單WinForm窗體程序

    C#用記事本編寫簡單WinForm窗體程序

    這篇文章主要為大家詳細介紹了C#用記事本編寫簡單WinForm窗體程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C#利用VS中插件打包并發(fā)布winfrom程序

    C#利用VS中插件打包并發(fā)布winfrom程序

    這篇文章主要為大家詳細介紹了C#利用VS中插件打包并發(fā)布winfrom程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 詳解WPF如何在基礎控件上顯示Loading等待動畫

    詳解WPF如何在基礎控件上顯示Loading等待動畫

    這篇文章主要為大家詳細介紹了WPF如何在基礎控件上顯示Loading等待動畫的效果,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下
    2023-04-04
  • C#使用晚綁定來實現(xiàn)壓縮Access數(shù)據(jù)庫的方法

    C#使用晚綁定來實現(xiàn)壓縮Access數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#使用晚綁定來實現(xiàn)壓縮Access數(shù)據(jù)庫的方法,項目開發(fā)中有一定的實用價值,需要的朋友可以參考下
    2014-08-08
  • C# 使用BitBlt進行窗口抓圖的示例

    C# 使用BitBlt進行窗口抓圖的示例

    這篇文章主要介紹了C# 使用BitBlt進行窗口抓圖的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-01-01
  • C#委托現(xiàn)實示例分析

    C#委托現(xiàn)實示例分析

    這篇文章主要介紹了C#委托現(xiàn)實,實例分析了C#委托的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C# 基于消息發(fā)布訂閱模型的示例(下)

    C# 基于消息發(fā)布訂閱模型的示例(下)

    這篇文章主要介紹了C# 基于消息發(fā)布訂閱模型的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-03-03

最新評論