نمایش نتایج 1 تا 11 از 11

نام تاپیک: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

  1. #1

    علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    نام کاربری و پسورد رو در فرم لاگین میزنی میره، دوباره از سرور برگشت میکنه، فقط نام کاربری بطور خودکار توش پر شده و پسورد پر نشده، علتش چیه دقیقا؟ چه فلسفه ای داره؟
    دقت کنید که خطا ممکنه مربوط به اشتباه بودن پسورد نبوده باشه و مثلا بخاطر اشتباه وارد شدن کپچا یا حتی نام کاربری بوده باشه.

    خب من فکر میکنم یک علتش شاید این باشه که بهرصورت فیلد پسورد چون خوانا نیست، پس پر کردن مجددش چندان مفید نیست، چون کاربر نمیتونه کاراکترهای اون رو ببینه و به راحتی ویرایش کنه. بنابراین شک میکنه که اصلا چی وارد کرده بوده و شاید اشتباه تایپی داشته و خلاصه بهتره از اول واردش کنه.

    مورد دیگر میتونه پرهیز از ارسال بی دلیل/بیش از حد پسورد در اینترنت باشه. چون خیلی از ارتباطات از SSL/TLS استفاده نمیکنن و ناامن هستن، بنابراین هرچه چنین اطلاعات حساسی کمتر از این مسیرهای ناامن عبور بکنه بهتر بنظر میاد (هرچند بهرصورت امنیت رو بصورت کامل و اصولی تامین نمیکنه).

    مسئلهء دیگر میتونه این باشه که پسورد کاربر در کش مرورگر ثبت نشه و قابل بازیابی نباشه. چون اگر ما فرم رو با پسورد کاربر برگشت بدیم، این پسورد جزیی از صفحهء HTML خواهد بود و اگر صفحه کش بشه در کش مرورگر همراه با بقیهء کدهای صفحه درج خواهد شد.
    (جالب اینکه این مورد همین الان به ذهن خودم هم رسید!)

    مسئلهء دیگر میتونه این باشه که فرضا کاربر ممکنه فرم رو سابمیت کنه و بعد بخاطر مشکلی در سمت کلاینت یا سرور یا در مسیر و خلاصه بهرصورتی، پاسخ مناسب و موفقیت آمیزی در مرورگر دریافت/نمایش داده نشه. بعضی از کاربران ممکنه وارد نباشن و مسائل امنیتی رو رعایت نکنن و مرورگر رو به همین صورت بحال خودش رها کنن، بعد ممکنه کس دیگری که روی سیستم میاد سعی در رفرش صفحه بکنه و مرورگر ازش میپرسه که اطلاعات ارسال شده رو مجددا ارسال کنم یا نه، طرف جواب میده بله، مرورگر اطلاعات فرمی رو که کاربر قبلی ارسال کرده بود مجددا به سرور مورد نظر ارسال میکنه و این بار اون مشکل و خطا پیش نمیاد و بنابراین در اکانت کاربر قبلی لاگین صورت میگیره.

    خلاصه این چندتا دلیل که بنظر من میامدن.
    شما هم اگر دلیلش رو میدونید یا ایده ای بنظرتون میرسه بگید.

    راستی این پر نشدن خودکار پسورد در بخش لاگین هست که توسط تقریبا تمام برنامه ها و سایتها رعایت میشه، اما در بخشهای دیگر مثل فرمهای ثبت نام بعضا دیده میشه که در بعضی سیستمها فیلد پسورد هم با برگشت فرم بصورت خودکار پر میشه، ولی این پسوردهای برگشت داده شده تاجاییکه دیدم بصورت هش شده هستند (شاید هم در مواردی رمز (هم) شده باشن). من خودم در فرم ثبت نام پروژم این روش رو استفاده کردم؛ البته بنده علاوه بر هش از رمزگذاری با یک کلید محرمانه سمت سرور هم استفاده کردم که امنیت رو بیشتر هم میکنه (چون روی رمزگذاری درست و حسابی عملا نمیشه حدس یا Brute-force رو تست کرد ولی روی هش امکانش هست).

  2. #2
    کاربر دائمی آواتار qartalonline
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    تبریز
    پست
    1,191

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    اصلی ترین عامل به نظر من همین هستش که هنگام بازگشت صفحه پسورد جز فایل html میشه و به راحتی میشه از سورس صفحه پسورد رو بدست آورد.

  3. #3

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    مرورگر بطور خودکار عناصری که "type="password هستن رو کش نمیکنه. شاید بشه با ست کردن دستی "autocomplete="on فعالش کرد (امتحان نکردم) ولی اگه میخواین حتماً پر بشه، خودتون موقع برگشت با خاصیت value مقدار رو داخلش بنویسید.

  4. #4

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    مرورگر بطور خودکار عناصری که "type="password هستن رو کش نمیکنه.
    مطمئنید؟
    تمام مرورگرها تمام نسخه ها؟
    البته باید دید مسئلهء کش شدن این پاسخها درجای دیگری غیر از مرورگر هم وجود داره یا نه.
    البته فکر میکنم قبلا در پروتکل HTTP یا جای دیگه خونده بودم که پاسخ به درخواستهای POST نباید کش بشه (منظور در کش سرورها هم بود)؛ ولی مطمئن نیستم، و از اون طرف هم معلوم نیست همه چیز همه وقت از این استاندارد پیروی کنن.

  5. #5

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    در ضمن اگر مسئله فقط کش باشه، میشه با هش و رمز کردن پسورد اون رو حل کرد.
    از اون طرف هم میبینی مثلا سیستمهایی که پسورد (البته در اصل هش/رمز شدهء پسورد) رو در فرم ثبت نام بصورت خودکار پر میکنن، نظیر این کار رو در فرم لاگین انجام نمیدن. یعنی من تاجاییکه یادم میاد اینطور بوده!

  6. #6

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    Form Auto Complete ارتباطی به سرور نداره و از ویژگیهای مرورگره که ذخیره میکنه. میتونید سورس صفحه رو بعد از Back چک کنید. چیزی از سرور برگردونده نمیشه. توی تمام مرورگرها همینطوره.

  7. #7

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    بابا من اصلا درمورد Auto Complete چیزی نگفتم و منظورم این نبود که.
    مثل اینکه اشتباه متوجه شدی مهندس.
    منظور من اون نوع پر کردن فیلدها هست که از سمت سرور انجام میشن.
    یعنی مثلا وقتی کاربر فرم لاگین رو سابمیت میکنه بعد در سمت سرور ازش ایرادی میگیریم برگردونده میشه کاربر به همون فرم دوباره ولی نام کاربریش توسط سرور با مقداری که کاربر قبلا سابمیت کرده بوده پر شده.
    مثلا این بخش از فرم لاگین بنده رو مشاهده میکنید:
    <input type="text" name="username" <?php if(isset($_POST['username'])) echo 'value="', htmlspecialchars($_POST['username'], ENT_QUOTES, 'UTF-8'), '"'; ?> >

    این در سمت سرور پر میشه.

  8. #8

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    خوب الآن پسورد رو کامل نمیکنه؟ من چنین کدی گذاشتم کار کرد:

    <form action="" method="post">
    <input name="user" type="text"<?php if(isset($_POST['user'])) { echo ' value="' . $_POST['user'] . '"'; } ?> />
    <input name="pass" type="password"<?php if(isset($_POST['pass'])) { echo ' value="' . $_POST['pass'] . '"'; } ?> />
    <input type="submit" value="Send" />
    </form>

  9. #9

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    خب همون دیگه من میگم از نظر امنیتی این کار (پر کردن خودکار فیلد پسورد) مشکل داره.
    اما میخواستم بدونم دقیقا به چه دلایلی و چه موارد مشکل و ریسک امنیتی در این رفتار هست.
    در واقعیت هم میبینید که تقریبا هیچ سایت و برنامه ای چنین کاری نمیکنه. واسه فیلد یوزرنیم میکنن ولی واسه پسورد نه.

  10. #10

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    راستش دلیل خاصی براش نمیبینم بجز اینکه اگه کاربر بعد از واردکردن اشتباه اطلاعات، به فرم برگردونده شد (و مثلاً بجای رمز، نام کاربری رو اشتباه وارد کرده بود) یکی دیگه با خوندن سورس صفحه، نفهمه رمزش چی بوده وگرنه مواردی مثل امکان شنود ازطریق شبکه و... توی همون ارسال اولیه رمز هم امکان داره. البته توی ارسال اولیه از کلاینت به سرور میشه با JS رمز رو Hash کرد ولی در برگشت برای اینکه درست توی کادر رمز نوشته بشه، باید رمز خام رو بگذاریم که خطرش بیشتره.

  11. #11

    نقل قول: علت پر نشدن خودکار فیلد پسورد موقعی که فرم لاگین مجددا از سمت سرور برگشت داده میشود

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    ولی در برگشت برای اینکه درست توی کادر رمز نوشته بشه، باید رمز خام رو بگذاریم که خطرش بیشتره.
    اتفاقا نیاز چندانی هم نیست که پسورد خام رو بذاریم.
    اتفاقا سیستمهایی که مثلا در فرم ثبت نام پسورد رو اینطوری پر میکنن، هش شده یا رمز شدهء اون رو در value قرار میدن.
    اونوقت موقعی هم که کاربر سعی میکنه این فیلدها رو ویرایش کنه، میتونیم با جاوااسکریپت این رو تشخیص بدیم و مقدار فیلدها رو پاک کنیم.
    بنده این قضیه رو در فرم ثبت نام خودم به همین شکل پیاده کردم.

تاپیک های مشابه

  1. سوال: ذخیره نشدن یوزر و پسورد در هر بار لاگین
    نوشته شده توسط maJJJid در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 26 بهمن 1392, 09:07 صبح
  2. پاسخ: 5
    آخرین پست: چهارشنبه 15 شهریور 1391, 21:41 عصر
  3. پاسخ: 9
    آخرین پست: پنج شنبه 13 مرداد 1390, 11:15 صبح
  4. start نشدن خودکار آپاچی در WAMP5
    نوشته شده توسط ali_hadian در بخش PHP
    پاسخ: 8
    آخرین پست: سه شنبه 16 فروردین 1390, 13:27 عصر
  5. شمارنده خودکار فیلد عدد در دیتابیس
    نوشته شده توسط babak869 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 10
    آخرین پست: یک شنبه 30 بهمن 1384, 10:20 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •