簡體   English   中英

ASP.NET和400錯誤的請求錯誤

[英]ASP.NET and 400 Bad Request Error

有時,我在使用ASP.NET編寫的不同網站上遇到400錯誤請求錯誤。

我知道的唯一解決方案是為該站點清理cookie。 似乎問題的原因是_utmz和_utma cookie,它們屬於Google Analytics(分析)。 在Mozilla FireFox的常見情況下會出現此問題,有時在Ghrome和Safari上會發生,而在IE中則不會。 意外發生此錯誤。

我發現:

來自ASP.Net團隊的Stefan: http//forums.asp.net/p/1431148/3221542.aspx

在當前版本的ASP.NET中,包含冒號等字符的Urls將被拒絕為潛在的安全威脅。 歷史原因是底層NTFS文件系統支持備用資源流,這些資源流可以使用“ yourfile.txt:hiddendata.txt”之類的名稱進行訪問。 從Urls阻止冒號可以防止編寫不良的應用程序意外使用備用資源流。

當前版本的ASP.NET中還存在一個限制,即傳入的Urls需要映射到NTFS文件系統以用於確定托管配置數據。

在ASP.NET 4中,可以選擇刪除這些限制。 但是,這些更改位於ASP.NET 4的Beta 2版本中,但不在Beta 1中。我們嘗試了本論壇帖子前面列出的網址,並確認通過我們內部的ASP.NET 4構建,您可以使用該樣式網址並進行處理,沒有任何400錯誤。

ASP.NET運行時,FireFox的cookie管理過程或Google Analytics(分析)代碼是否有問題? 您知道什么問題解決方案?

問題在於firefox處理cookie中特殊字符的方式。 它與asp.net沒有任何關系,無論使用哪種語言,都會出現錯誤。

該問題似乎最經常發生在Google Analytics(分析)廣告系列來源中。 您應該只嘗試將這些值保留為字母字符。

我個人必須解決人們在查詢字符串中使用撇號和mDash的問題。 結果,我告訴人們不要同時使用連字符和撇號。 如果您不是其中的一個,則無法確定他們沒有復制瀏覽器無法處理的特殊字符。

該論壇建議清除400頁上的不良cookie,以便它們可以正確訪問該網站。

在stackoverflow上已經存在另一個與相同問題有關的問題。

在設置廣告系列來源等之前,您需要確保不包含任何特殊字符。通過CMS新聞通訊等動態創建的來源可能會包含不良字符(如果它們的格式不正確)。 人們在將MSOffice字符粘貼到標題和鏈接中時遇到了麻煩,這些標題和鏈接會破壞Cookie並阻止該頁面被提供。

除了確保您沒有向GA發送不正確的數據並導致Cookie損壞之外,沒有其他解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM