[ASP.NET] สอบถามเรื่อง Unable to validate data กับ EnableViewStateMac
-
10 มิถุนายน 2554 14:45
รบกวนสอบถามเรื่อง Error ที่เกิดครับ
Server Error in '/' Application.
--------------------------------------------------------------------------------
Unable to validate data.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Unable to validate data.
.
.
.ผมลองค้นหาวิธีแก้ปัญหาจาก web นอกเค้าแนะนำให้กำหนดค่า
"EnableViewStateMac = false" ใน web.config (ของผมเข้าไปแก้ที่ machine.config เพราะไม่ได้ระบุใน web.config) หลังทำการแก้ไขแล้ว สามารถแก้ปัญหาที่เกิดได้
จึงอยากสอบถามครับว่า
- สาเหตุของ Error เกิดจากสาเหตุใดได้บ้าง
- การแก้ไขค่า EnableViewStateMac จะกระทบกับการทำงานของส่วนอื่นโปรแกรมอะไรบ้าง
PS.
- ผมพัฒนาบน VS2003 C#
- เครื่อง Web Server ทำ Load Balance
ขอบคุณครับ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
ตอบทั้งหมด
-
14 มิถุนายน 2554 3:17ผู้ดูแล
- สาเหตุของ Error เกิดจากสาเหตุใดได้บ้าง
โดยปกติ ASP.NET จะตรวจสอบ viewstate เพื่อให้ทราบว่า มาจากหน้าเพจที่ถูกต้องรึป่าว หรือว่ามาจากเซิร์ฟเวอร์เดียวกันรึป่าว
ทั้งนี้เป็นเพราะ ViewState จะหายไปทันทีเมื่อส่งข้อมูลไปยัง server และ client เรียบร้อยแล้ว
โดย feature นี้จะสร้างขึ้นโดยอัตโนมัติ เพื่อตรวจสอบ server ณ ขณะปัจจุบันโดย message authentication code (MAC) จะมีการสร้างและส่งข้อความใน ViewState และส่งข้อความกลับไปยังเบราว์เซอร์เพื่อทำการตรวจสอบ
ซึ่งปัญหานี้จะเกิดขึ้นก็ต่อเมื่อมีการ postback ในหน้าเวปหรือ server ที่แตกต่างกัน
- การแก้ไขค่า EnableViewStateMacจะกระทบกับการทำงานของส่วนอื่นโปรแกรมอะไรบ้างคำตอบ คือ จะถูกแฮคได้ง่ายค่ะ
เพราะ enableViewStateMac จะ encrypt และทำการตรวจสอบViewState (ใน hidden field) ในหน้าเพจนั้น
โดยถ้า ViewState เซตค่าเป็น false มันจะไม่ทำการ encrypt ใน postbackเพราะฉะนั้นจึงต้องเซต ค่าEnableViewStateMac = falseศึกษาข้อมูลเพิ่มเติมhttp://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstatemac.aspx
http://www.codeproject.com/Articles/43637/Weird-Error-Unable-to-Validate-Data-in-ASP-NET-web.aspx
Supa Sethasiripong [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- ทำเครื่องหมายเป็นคำตอบโดย supa_sModerator 15 มิถุนายน 2554 1:20
-
16 มิถุนายน 2554 13:07ขอบคุณมากครับ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* KACHEN T. -
17 มิถุนายน 2554 2:24ผู้ดูแล
ไม่เป็นไรค่ะ ก็จะพยายามหาคำตอบให้
ถ้ายังงัยก็เข้ามาถามคำถามกันเยอะๆ นะคะ
Supa Sethasiripong [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.