System.Web.HttpException: URL 編碼型式資料無效。 ---> System.InvalidOperationException: 由於該物件目前的狀態,導致作業無效。
經查證後,發現是2012年一月左右,微軟針對.NET做了資安漏洞更新,於客戶端POST回來的參數資料數有了限制;
該設定的默認值剛好為「1000」,如果是.NET 2.0以上的版本,請修改 web.config ,並在 <appSettings> 區段加上 aspnet:MaxHttpCollectionKeys 即可:
<appSettings> <add key="aspnet:MaxHttpCollectionKeys" value="2500" /> </appSettings>
如果要在 .NET 1.1放寬限制,則須做以下設定 (需將機器重開機):
注意 如果您是在 x86 系統上使用 ASP.NET 1.1,請將 DWORD 值新增到下列登錄機碼來調整此設定:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
參考資料:
https://support.microsoft.com/zh-tw/kb/2661403/zh-tw
http://blog.miniasp.com/post/2012/01/01/Efficient-Denial-of-Service-Attacks-on-Web-Application-Platforms.aspx
0 意見:
張貼留言