دوست خوبم!
دوست دارم این بحث، به صورت یک بحث علمی بین بنده و شما باشه. بدون تحقیر و توهین.
یکی از دلایلی که باعث شد از همکاری در این فوروم منصرف بشم، طرز برخورد ناشایست برخی کاربران بود.
--------------
و اما...
باید عرض کنم که عدم اطلاع از مکانیزم تکنیک FormsAuthentication از شما که ادعای مدرک MCSD.NET رو دارید، مایه ی تعجب بسیار است!
در متنی که جنابعالی از MSDN نقل کردید، در مورد عدم ذخیره ی اطلاعات حساس در کوکی سخن به میان آمده.
مقصود این بوده که اطلاعات نباید به صورت Plain Text (متن ساده) در کوکی ها ذخیره شوند!
در این صورت کاربر به راحتی قادر به خواندن محتویات کوکی خواهد بود.
زمانی که از روش تصدیق هویت FormsAuthentication استفاده می کنید (روش معمول ایجاد بخش تصدیق هویت کاربران در ASP.NET)، پس از تایید اطلاعات شما، یک کوکی که اصطلاحا به اون Ticket گفته میشه بر روی سیستم شما قرار می گیره.
پس از اون، با ارسال هر درخواست (Request) از جانب کلاینت به سرور، وجود این کوکی در پارامترهای HTTP ارسالی توسط کاربر چک می شود و در صورتی که این کوکی یافت شد، اجازه ی دسترسی به منبع مورد نظر به کاربر داده می شود، در غیر اینصورت، کاربر به صفحه ی لوگین رهنمون خواهد گشت...
و اما...
فرمودید که استفاده از کوکی ها رو در فوروم های DNN , CS قبول دارید اما این رو قبول نداشتید که مایکروسافت از این روش در برنامه های مبتنی بر وب خودش استفاده می کنه و خواستار مثالی در این مورد شده بودید!
خدمت شما عرض می کنم که سایت معروف http:/www.asp.net که سایت رسمی مایکروسافت در زمینه ی ASP.NET هست، از روش تصدیق هویت FormsAuthentication استفاده می کنه.
کد:
Copyright © 2005 Microsoft Corporation. All Rights Reserved
در صفحه ی اصلی این سایت، بر روی لینک Log in در گوشه ی سمت راست - بالای صفحه کلیک کنید. در صفحه ای که ظاهر می شود، چک باکسی با عنوان "Automatically keep me signed in" مشاهده می کنید که مطمئنا معنای آن را می دانید.
شما در حقیقت با این گفته ی خود، استفاده از گزینه ی "یادآوری" در صفحات لوگین تمامی سایت ها را نقض و آن را عملی اشتباه می پندارید!
راستی عزیزم اون غیره قابل بازگشت رو قبول دارم
ولی عزیزم اون User را با MD5 تغییر بده ، بد بخواد بخونه ) اونکه قابل برگشت نیست ، چطوری همون Username را دست داخل یک Label نمایش بده ؟
و اما توضیح در مورد جمله ی فوق:
همان گونه که قبلا عرض کردم، الگوریتم MD5 یک الگوریتم غیر قابل بازگشت است.
روش استفاده از این الگوریتم بدین شکل است که متن کد شده را بازیابی می کنیم. متن اصلی را نیز کد می کنیم و آن را با متن کد شده ی بازیابی شده مقایسه می کنیم.
در صورتی که هر دوی این متن ها شبیه به هم شدند، آنگاه مقایسه صحیح بوده است.
آره میشه ، User رو توی کوکی Save کرد پسور رو هم با MD5 توی کوکی Save کنید ، ولی هر دفه که User & pass را از کوکی میگیری باید چک کنی که User وارد شده با پسورد ، درست است ، چون کاربر دست رسی دارد و حداقل میتونه تغییر بده ، و همین چک کردن ، روی یک Project بزرگ خیلی خوشگل حالت میگیره .(توی سرعت)
به هیچ وجه نیاز به چک کردن مجدد User Name و Password نیست!
این عمل تنها یک بار و آن هم در هنگام لوگین کاربر انجام می پذیرد و در مرتبه های بعدی، تنها وجود کوکی چک می شود!
اگر سوالی داشتید در خدمتم.
موفق باشید دوست MCSD.NET من!