PDA

View Full Version : مشکل با updatepanel و پیام خطا



tc1000
چهارشنبه 22 آبان 1387, 16:44 عصر
من در سایتی که درست کردم به مشکل برخورد کردم که این مشکل رو قبلا نداشتم
و ajax به خوبی کار میکرد
ولی الان این پیام خطا رو میده
در صورتی که من از response.write اصلا استفاده نکردم
عکس پایین هم ببینید وقتی update panel دیتابیس رو ذخیره میکنه
بعدش این حالتی میشه
اطلاعت ذخیره میشه ولی این پیام خرابش میکنه

Ehsan Valinouri
پنج شنبه 23 آبان 1387, 20:54 عصر
دوست عزیز اروری که شما میبینید برای من هم پیش اومده. در برنامه نویس کسی نتونست پاسخی به من بده ولی بهت پیشنهاد میکنم یه گوگل بکنی ببینی چی میشه. من تقریبا 10 راه مختلف رو دیدم که کاربران پیشنهاد داده بودند که شایع ترین اونها False کردن EnableEventValidation واقع در تگ Page بود. البته این کار مشکل همه افراد رو از جمله خود من حل نکرد ولی به امتحانش می ارزه

راههای دیگری هم هست مثل دستکاری تگ Trace, وب کانفیگ و غیره

peymannaji
پنج شنبه 23 آبان 1387, 22:50 عصر
دوست عزیز اروری که شما میبینید برای من هم پیش اومده. در برنامه نویس کسی نتونست پاسخی به من بده ولی بهت پیشنهاد میکنم یه گوگل بکنی ببینی چی میشه. من تقریبا 10 راه مختلف رو دیدم که کاربران پیشنهاد داده بودند که شایع ترین اونها False کردن EnableEventValidation واقع در تگ Page بود. البته این کار مشکل همه افراد رو از جمله خود من حل نکرد ولی به امتحانش می ارزه

راههای دیگری هم هست مثل دستکاری تگ Trace, وب کانفیگ و غیره


سلام دوست عزیز من هنگام فشرده سازی صفحه با این مشکل در صفحه هایی که updatepanle استفاده کرده بودم برخورد کردم ... که با روشی که شما فرمودید( false کردن EnableEventValidation) مشکل حل شد ... اما یک سوالی که هست که EnableEventValidation چی هست و چه کاری انجام میده . و false کردن اون از برای وب سایت مشکل بوجود نمیاره حالا چه از نظر امنیتی چه کارکرد ؟

mahdi_farhani
پنج شنبه 23 آبان 1387, 23:15 عصر
EnableEventValidation اگر اشتباه نکنم ، برای بررسی کدهای سمت کلاینت هست که به وسیله Postback به سرور ارسال میشه ، این خاصیت که به صورت پیش فرض True هست . این خاصیت در فریم 1 وجود نداشته .

ASP.NET controls create client-side script to raise post-back events on the server. Because a malicious user could use the postback script to send arbitrary post events to server controls, ASP.NET 2.0 controls validate the event data to ensure the event was raised by client-side code rendered by the control.

Setting the EnableEventValidation property to false returns the control behavior to the same as ASP.NET 1.0.

You can set the EnableEventValidation property for a Web application by setting the enableEventValidation attribute of the pages Element (ASP.NET Settings Schema) in the application's Web.config file, or for a single page by setting the EnableEventValidation attribute of the @ Page directive.

1-میشه کد این صفحه رو بزاری تا یک بررسی بکنیم .
2-اگر از ابزاری استفاده کردی که State صفحه رو عوض میکنه مثل Response.write, response.filter کمپرس کردن صفحه ، MultiView و..... برای اطلاعات بیشتر میتونی سرج کنید ، ببینید که چه ابزاری State رو عوض میکنن و یا با Updatepanel مشکل دارن ..... اینها رو یه فکر دیگه براش بکنی . بستگی به استفاده داره
3-دستکاری تگهایی Trace و EnableEventValidation احتمال بروز مشکلات امنیتی رو داره ، حواستون رو جمع کیند

peymannaji
پنج شنبه 23 آبان 1387, 23:25 عصر
بله دقیقا درسته همین الان هم تو یک سایت در مورد مشکلات مربوط به FALSE کردن EnableEventValidation تحت عنوان injection attacks میخوندم ... والا من که هنوز راه حلی پیدا نکردم ... با این حالا بازم سرچ میکنم . دوستان هم کمک کنن ...

Ehsan Valinouri
شنبه 25 آبان 1387, 22:45 عصر
دوستان من راجع به این ارور تقریبا تمام اینترنت رو سرچ کردم. این باگ Ajax نسخه 1 است. اما تمام راههایی که براش ارائه شده تجربیست و طبیعتا نمی تونه عاری از اشکال باشه. ضمن اینکه جالب اینجاست که هستند کاربرانی مثل من که با وجود امتحان کردن راههای مختلف مشکلشون حل نشده. به جرات میگم هنوز یه راه حل قطعی برای این مشکل پیدا نشده اما احتمال اینکه یکی از همین راهها مشکل شما رو حل کنه وجود داره (البته با در نظر گرفتن جوانب کار)

Ehsan Valinouri
شنبه 25 آبان 1387, 22:49 عصر
http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx

مهم ترین منبعی که راجع به ارور مطلب داده.
خواندن کامنت ها رو هم توصیه میکنم

tc1000
یک شنبه 26 آبان 1387, 16:37 عصر
حالا باید چه کار کرد
چرا در بعضی از برنامه ها این اررور رو میده و در بعضی از برنامه چنین چزیزی وجود نداره
یک پروژه هستش که حدود 70 صفحه داره و تمامشون از update panel بهره میبرند این کار میکرده ولی یه دفعه حالش بد شده و این اررور رو میده

milade
یک شنبه 26 آبان 1387, 17:10 عصر
کد vb یا C# رو بزار

tc1000
یک شنبه 26 آبان 1387, 23:57 عصر
با فالسکردن این EnableEventValidation درست شد

peymannaji
دوشنبه 27 آبان 1387, 00:30 صبح
با فالسکردن این EnableEventValidation درست شد

بله دوست من این مشکل با این راه حل میشه . اما وضعیت امنیتی سایت کمی کاهش پیدا میکنه اونم بدلیل Injection attack که یک مقاله بود در موردش خوندم . اگه پیداش کنم میفرستم براتون ...

tc1000
سه شنبه 28 آبان 1387, 01:08 صبح
واییییییییییییییییییی پس باید چکارکرد