PDA

View Full Version : __VIEWSTATE چی هست؟



mehr_83
سه شنبه 21 خرداد 1392, 09:38 صبح
این

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTMxMjU5NDYyNw9kFgJmD2QWBAIBD2QWBgIHDxYC... ."/>
چیه؟ مقدار valueآن هم وقتی به دیتابیس وصل میشی بسیار بسیار زیاد میشه که من اینجا خلاصش کردم.
سایتهایی که SEO بهتری دارند اصلاً همچین چیزی در سورس صفحشون دیده نمیشه/

forestasphalt
سه شنبه 21 خرداد 1392, 10:34 صبح
VIEWSTATE وضعیت کنترل های asp.net رو در خودش نگه میداره مثلا موقعی که اطلاعات رو در صفحه پست میکنید(پست بک) اطلاعات کنترل ها حفظ میشن مثلا اطلاعات textbox ها
VIEWSTATE مخصوص سایتهای asp.net هست اطلاعات رو به صورت 128 بیتی رمزدگذاری میکنه
مزیت عمده اش :پیاده سازی آسون اونه (نیازی به منبع سروی ندارد)
عیب :کارایی پایینی داره (من با فایرفاکس که کار میکنم بعضی موقع ها میبینمVIEWSTATE بعضی از سایت ها تا 60-70 کیلوبایت هم میشه! )
امنیت پایینی هم داره توی فیلدمخفی به نام _VIEWSTATE اطلاعاتشو قرار میده که به صورت هش شده اطلاعات رو ذخیره میکنه که مستعد حمله هست!
asp.net mvc از viewstate استفاده نمکینه یه افزونه ای در فایر فاکس هسن که اندازه vewstate رو نشون میده
توصیه شده که موقعی که به viewstate نیازی ندارید اونو غیر فعال کنید هم میتونید به ازای هر صفحه اونو غیرفعال کنید یا در کل پروژه غیر فعال کنید!

mehr_83
سه شنبه 21 خرداد 1392, 11:43 صبح
چرا وقتی برای صفحه رو false می کنم بازم در سورسش نشون میده؟