in

Darkthread

黑暗執行緒
All Tags » AJAX (RSS)

Browse by Tags

  • 漫談 JSONP 的 XSS 攻擊風險

    JSONP 是解決跨網域 JavaScript 呼叫的古老方法,簡單有效又不挑瀏覽器,至今仍是我常用的兵器之一。最近在想一個問題,JSONP 呼叫時由客戶端指定 Callback 函式名稱,是一個可以注入惡意程式碼的管道,有否存在 XSS 攻擊的風險?需不需要積極防護? 經過嘗試,發現要透過 JSONP 發動攻擊是可能的,但前題是開發者犯了某些低級錯誤。 使用以下網頁示範: <%@ Page Language="C#" %> < script runat ="server" > void Page_Load( object sender...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 11-24-2016
  • 【茶包筆記】jQuery AJAX呼叫在IE有問題

    同事報案,某網頁使用jQuery.ajax()發出四個OData查詢,在Chrome執行正常,在IE時兩個AJAX呼叫正常,有兩個查不到資料。使用F12觀察,發現有問題的AJAX呼叫URL參數包含中文但未使用encodeURIComponent()編碼,Chrome正確地自動做了轉換,IE也自動做了轉換,但轉換結果出現亂碼。 URL未用encodeURIComponent()編碼要承擔敗戰責任無庸置疑,但jQuery.ajax()在不同瀏覽器結果不同這點挺有趣,值得調查,弄了精簡範例驗證這點: <! DOCTYPE html > < html > < head >...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-03-2016
  • 【茶包射手日記】SharePoint導致ASP.NET PageMethod失效

    接獲報案,某 ASP.NET PageMethod 程式部署至正式主機失效,以jQuery送出POST Request,未傳回JSON結果而是傳回完整網頁,如同未設[WebMethod]屬性一般。 經過對照測試,鎖定問題只有在ASP.NET網站跟SharePoint 2007並存於同一IIS站台時發生,只要脫離Sharepoint魔掌就一切如常。 爬文找到有人提及需確認web.config已加入ScriptModule,PageMethod才能正常運作: <httpModules>   <add name="ScriptModule" type="System...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-19-2014
  • 【茶包射手日記】RadAsyncUpload上傳檔案跳出網頁登入對話框

    接獲報案,某專案使用Telerik RadControl的 RadAsyncUpload 元件,在選取檔案後隨即出現網頁登入對話框,輸入正確密碼後,元件的上傳進度Icon持續閃黃燈,若按上傳鈕甚至在某些機器上導致IE Crash。 據說問題只發生在某些User的機器上,但數量不少,偏偏資訊部門的機器都無法重現問題,最後總算追查到一位行政同仁的PC曾有相同問題,如獲至寶! 重演一次操作,幸運地狀況還在,射茶包時,重現問題是成功的一半! 實際觀察問題,推斷是選取檔案後網頁抛出某個需求,導致IIS再次要求認證身分。想開Dev Tools檢測,卻發現是IE8,好樣的... 懷疑此問題與IE8有關,或可解釋為何資訊部門大部分的機器都沒遇到類似問題...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-18-2014
  • 再談AJAX呼叫的同步化

    接獲報案: 某網頁透過AJAX新增資料,接著以AJAX方式取回資料清單,卻不見剛才新增的項目,重新整理網頁則正常。 經過一番檢測,確認與AJAX的非同步特性有關, 循序執行AJAX呼叫 的做法先前曾討論過,但這回我們改從問題剖析的角度再切入一次。 試著用以下範例重現問題。假設有一個後端ASP.NET程式如下,傳入參數mode=add時可新增字串元素,mode=clear時清除所有資料,否則傳回字串陣列內容。為求簡化,此處用Session儲存資料取代原本的DB作業。 <%@ Page Language= "C#" %> <script runat= "server"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-17-2013
  • CODE-以jQuery循序執行AJAX呼叫,並依結果決定是否繼續

    很繞口的標題,不過就是我這次挑戰的需求。 用Google Map API轉換地址 時,曾示範過利用$.when().then()等待所有$.ajax()呼叫都完成後才執行顯示地圖的jQuery寫法,但這次的情境有點不同。 每次處理1到多筆AJAX呼叫(透過$.post()) 多筆AJAX呼叫需依序執行,第1筆執行完畢時才執行第2筆 當某一筆AJAX呼叫傳回特定結果時,代表出現狀況,停止後續AJAX動作 jQuery的$.ajax()自1.5版起改為回傳Promise物件(CommonJS提議的 設計模式 ),並加入Deferred物件,提供done(), fail(), then(), reject...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-05-2012
  • 打破沙鍋-AJAX POST比GET效率差?

    故事要從點部落看到的 一篇文章 說起,該文章引薦了另一篇文章: 如何有效的提升網站的效能 - 12項建議 ,提出不少網頁前端設計上的效能提示,不過其中第8點: 在使用Ajax時,請盡量以GET的方式進行請求,以POST的方式將造成雙倍的要求次數 卻讓人有些疑惑,依我對HTTP GET與POST運作原理的理解,無法解釋Request數變兩倍的理由。於是在噗浪上 討論了一番 ,發現許多人跟我有相同的疑問,直到JavaScript神人-費拉諾蘭大公現身,指引眾人一條明路,在Yahoo Developer Network Best Practices for Speeding Up Your Web Site...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-09-2012
  • Telerik RadGrid AJAX更新範例

    RadControls for ASP.NET AJAX 是一套挺優秀的ASP.NET元件庫,包辦了開發ASP.NET專案時需要用到的大小控制項(如: Grid、日期選擇器、數字輸入欄位、頁籤... 等等),手上有幾個專案裡就是利用RadGrid的 Client-Side Data-Binding 實現AJAX式的換頁及重排效果,但中年人記憶消失之快已到了令人心驚的地步,每次要寫類似應用都要花上大半天回頭從舊程式找範例(要命的是連在哪個專案寫過都要想半天),於是催生了這篇" 銀杏文 "。 RadGridAjaxSample.aspx <%@ Page Language...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 11-30-2011
  • AJAX動態內容支援回上頁-HTML5篇

    昨天提到 在AJAX情境支援回上頁 的做法,Ammon馬上補充重要資訊(再次感謝!!) --- 針對AJAX模式下記錄瀏覽歷程的需求,HTML5 history物件已增加了新功能。(詳情可參考 MDN文件 ) jQuery BBQ透過pushState(), getState()及hashchage事件實現AJAX變動歷程的記錄,而HTML5則是在既有history物件上增加了pushState()、replaceState()方法、state屬性,並在window物件新增onpopstate事件。 hisotry.pushState()接受三個參數state、title與url,跟jQuery...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-22-2011
  • 讓AJAX動態內容支援瀏覽器回上頁功能

    隨著AJAX動態更新技術的普及,手邊專案有愈來愈多網頁開始實現"無PostBack"的設計風格,透過jQuery $.post(), $.get()與ASP.NET程式溝通,執行查詢、更新作業並取得結果,再動態改變HTML DOM回應使用者。(註: 對ASP.NET開發者來說,UpdatePanel是另一個無痛實現AJAX化的選項,但有些 副作用 ) 由使用者的回饋來看,減少網頁PostBack與網頁重新導向次數,確實大幅提高操作回應速度,提供更好的操作體驗,不過倒有一個常被垢病之處 --- 使用者明明覺得點選操作後瀏覽器切換到下一個畫面,為什麼按覽器的回上頁卻無法回到上個畫面...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 09-21-2011
第1頁,共4頁 (39個項目) 1 2 3 4 下一頁 >
Powered by Community Server (Non-Commercial Edition), by Telligent Systems