eshpilen
شنبه 07 دی 1392, 10:23 صبح
نام کاربری و پسورد رو در فرم لاگین میزنی میره، دوباره از سرور برگشت میکنه، فقط نام کاربری بطور خودکار توش پر شده و پسورد پر نشده، علتش چیه دقیقا؟ چه فلسفه ای داره؟
دقت کنید که خطا ممکنه مربوط به اشتباه بودن پسورد نبوده باشه و مثلا بخاطر اشتباه وارد شدن کپچا یا حتی نام کاربری بوده باشه.
خب من فکر میکنم یک علتش شاید این باشه که بهرصورت فیلد پسورد چون خوانا نیست، پس پر کردن مجددش چندان مفید نیست، چون کاربر نمیتونه کاراکترهای اون رو ببینه و به راحتی ویرایش کنه. بنابراین شک میکنه که اصلا چی وارد کرده بوده و شاید اشتباه تایپی داشته و خلاصه بهتره از اول واردش کنه.
مورد دیگر میتونه پرهیز از ارسال بی دلیل/بیش از حد پسورد در اینترنت باشه. چون خیلی از ارتباطات از SSL/TLS استفاده نمیکنن و ناامن هستن، بنابراین هرچه چنین اطلاعات حساسی کمتر از این مسیرهای ناامن عبور بکنه بهتر بنظر میاد (هرچند بهرصورت امنیت رو بصورت کامل و اصولی تامین نمیکنه).
مسئلهء دیگر میتونه این باشه که پسورد کاربر در کش مرورگر ثبت نشه و قابل بازیابی نباشه. چون اگر ما فرم رو با پسورد کاربر برگشت بدیم، این پسورد جزیی از صفحهء HTML خواهد بود و اگر صفحه کش بشه در کش مرورگر همراه با بقیهء کدهای صفحه درج خواهد شد.
(جالب اینکه این مورد همین الان به ذهن خودم هم رسید!)
مسئلهء دیگر میتونه این باشه که فرضا کاربر ممکنه فرم رو سابمیت کنه و بعد بخاطر مشکلی در سمت کلاینت یا سرور یا در مسیر و خلاصه بهرصورتی، پاسخ مناسب و موفقیت آمیزی در مرورگر دریافت/نمایش داده نشه. بعضی از کاربران ممکنه وارد نباشن و مسائل امنیتی رو رعایت نکنن و مرورگر رو به همین صورت بحال خودش رها کنن، بعد ممکنه کس دیگری که روی سیستم میاد سعی در رفرش صفحه بکنه و مرورگر ازش میپرسه که اطلاعات ارسال شده رو مجددا ارسال کنم یا نه، طرف جواب میده بله، مرورگر اطلاعات فرمی رو که کاربر قبلی ارسال کرده بود مجددا به سرور مورد نظر ارسال میکنه و این بار اون مشکل و خطا پیش نمیاد و بنابراین در اکانت کاربر قبلی لاگین صورت میگیره.
خلاصه این چندتا دلیل که بنظر من میامدن.
شما هم اگر دلیلش رو میدونید یا ایده ای بنظرتون میرسه بگید.
راستی این پر نشدن خودکار پسورد در بخش لاگین هست که توسط تقریبا تمام برنامه ها و سایتها رعایت میشه، اما در بخشهای دیگر مثل فرمهای ثبت نام بعضا دیده میشه که در بعضی سیستمها فیلد پسورد هم با برگشت فرم بصورت خودکار پر میشه، ولی این پسوردهای برگشت داده شده تاجاییکه دیدم بصورت هش شده هستند (شاید هم در مواردی رمز (هم) شده باشن). من خودم در فرم ثبت نام پروژم این روش رو استفاده کردم؛ البته بنده علاوه بر هش از رمزگذاری با یک کلید محرمانه سمت سرور هم استفاده کردم که امنیت رو بیشتر هم میکنه (چون روی رمزگذاری درست و حسابی عملا نمیشه حدس یا Brute-force رو تست کرد ولی روی هش امکانش هست).
دقت کنید که خطا ممکنه مربوط به اشتباه بودن پسورد نبوده باشه و مثلا بخاطر اشتباه وارد شدن کپچا یا حتی نام کاربری بوده باشه.
خب من فکر میکنم یک علتش شاید این باشه که بهرصورت فیلد پسورد چون خوانا نیست، پس پر کردن مجددش چندان مفید نیست، چون کاربر نمیتونه کاراکترهای اون رو ببینه و به راحتی ویرایش کنه. بنابراین شک میکنه که اصلا چی وارد کرده بوده و شاید اشتباه تایپی داشته و خلاصه بهتره از اول واردش کنه.
مورد دیگر میتونه پرهیز از ارسال بی دلیل/بیش از حد پسورد در اینترنت باشه. چون خیلی از ارتباطات از SSL/TLS استفاده نمیکنن و ناامن هستن، بنابراین هرچه چنین اطلاعات حساسی کمتر از این مسیرهای ناامن عبور بکنه بهتر بنظر میاد (هرچند بهرصورت امنیت رو بصورت کامل و اصولی تامین نمیکنه).
مسئلهء دیگر میتونه این باشه که پسورد کاربر در کش مرورگر ثبت نشه و قابل بازیابی نباشه. چون اگر ما فرم رو با پسورد کاربر برگشت بدیم، این پسورد جزیی از صفحهء HTML خواهد بود و اگر صفحه کش بشه در کش مرورگر همراه با بقیهء کدهای صفحه درج خواهد شد.
(جالب اینکه این مورد همین الان به ذهن خودم هم رسید!)
مسئلهء دیگر میتونه این باشه که فرضا کاربر ممکنه فرم رو سابمیت کنه و بعد بخاطر مشکلی در سمت کلاینت یا سرور یا در مسیر و خلاصه بهرصورتی، پاسخ مناسب و موفقیت آمیزی در مرورگر دریافت/نمایش داده نشه. بعضی از کاربران ممکنه وارد نباشن و مسائل امنیتی رو رعایت نکنن و مرورگر رو به همین صورت بحال خودش رها کنن، بعد ممکنه کس دیگری که روی سیستم میاد سعی در رفرش صفحه بکنه و مرورگر ازش میپرسه که اطلاعات ارسال شده رو مجددا ارسال کنم یا نه، طرف جواب میده بله، مرورگر اطلاعات فرمی رو که کاربر قبلی ارسال کرده بود مجددا به سرور مورد نظر ارسال میکنه و این بار اون مشکل و خطا پیش نمیاد و بنابراین در اکانت کاربر قبلی لاگین صورت میگیره.
خلاصه این چندتا دلیل که بنظر من میامدن.
شما هم اگر دلیلش رو میدونید یا ایده ای بنظرتون میرسه بگید.
راستی این پر نشدن خودکار پسورد در بخش لاگین هست که توسط تقریبا تمام برنامه ها و سایتها رعایت میشه، اما در بخشهای دیگر مثل فرمهای ثبت نام بعضا دیده میشه که در بعضی سیستمها فیلد پسورد هم با برگشت فرم بصورت خودکار پر میشه، ولی این پسوردهای برگشت داده شده تاجاییکه دیدم بصورت هش شده هستند (شاید هم در مواردی رمز (هم) شده باشن). من خودم در فرم ثبت نام پروژم این روش رو استفاده کردم؛ البته بنده علاوه بر هش از رمزگذاری با یک کلید محرمانه سمت سرور هم استفاده کردم که امنیت رو بیشتر هم میکنه (چون روی رمزگذاری درست و حسابی عملا نمیشه حدس یا Brute-force رو تست کرد ولی روی هش امکانش هست).