یک درخواست را به /.well-known/change-password
به URL change-passwords هدایت کنید
یک تغییر مسیر از /.well-known/change-password
به صفحه تغییر رمز عبور وب سایت خود تنظیم کنید. این به مدیران رمز عبور اجازه می دهد تا کاربران شما را مستقیماً به آن صفحه هدایت کنند.
مقدمه
همانطور که می دانید، رمز عبور بهترین راه برای مدیریت حساب ها نیست . خوشبختانه، فناوریهای نوظهوری مانند WebAuthn و تکنیکهایی مانند رمزهای عبور یکبار مصرف وجود دارند که به ما کمک میکنند به دنیای بدون رمز عبور نزدیکتر شویم. با این حال، این فناوری ها هنوز در حال توسعه هستند و همه چیز به سرعت تغییر نخواهد کرد. بسیاری از توسعه دهندگان حداقل تا چند سال آینده همچنان باید با پسوردها سر و کار داشته باشند. در حالی که منتظر هستیم تا فناوریها و تکنیکهای در حال ظهور رایج شوند، حداقل میتوانیم استفاده از رمزهای عبور را آسانتر کنیم.
یک راه خوب برای انجام این کار، ارائه پشتیبانی بهتر برای مدیریت رمز عبور است.
چگونه مدیریت رمز عبور کمک می کند
مدیریت رمز عبور می تواند در مرورگرها ساخته شود یا به عنوان برنامه های شخص ثالث ارائه شود. آنها می توانند به روش های مختلف به کاربران کمک کنند:
تکمیل خودکار رمز عبور برای فیلد ورودی صحیح : برخی از مرورگرها می توانند ورودی صحیح را به صورت اکتشافی پیدا کنند، حتی اگر وب سایت برای این منظور بهینه نشده باشد. توسعه دهندگان وب می توانند با حاشیه نویسی صحیح تگ های ورودی HTML به مدیران رمز عبور کمک کنند.
جلوگیری از فیشینگ : از آنجایی که مدیران گذرواژه به خاطر میآورند که گذرواژه در کجا ثبت شده است، رمز عبور را میتوان فقط در آدرسهای اینترنتی مناسب تکمیل کرد، نه در وبسایتهای فیشینگ.
ایجاد رمزهای عبور قوی و منحصر به فرد : از آنجا که رمزهای عبور قوی و منحصر به فرد مستقیماً توسط مدیر رمز عبور تولید و ذخیره می شوند، کاربران مجبور نیستند یک نویسه از رمز عبور را به خاطر بسپارند.
ایجاد و تکمیل خودکار رمزهای عبور با استفاده از یک مدیر رمز عبور قبلاً به خوبی به وب سرویس داده است، اما با توجه به چرخه عمر آنها، به روز رسانی رمزهای عبور در هر زمان که لازم باشد به اندازه تولید و تکمیل خودکار مهم است. برای استفاده صحیح از آن، مدیران رمز عبور یک ویژگی جدید اضافه می کنند:
گذرواژههای آسیبپذیر را شناسایی کنید و بهروزرسانی آنها را پیشنهاد دهید : مدیران گذرواژه میتوانند رمزهای عبوری را که مجدداً استفاده میشوند شناسایی کنند، آنتروپی و ضعف آنها را تجزیه و تحلیل کنند، و حتی رمزهای عبور احتمالی فاش شده یا مواردی را که از منابعی مانند Have I Been Pwned ناامن هستند، شناسایی کنند.
یک مدیر رمز عبور می تواند به کاربران در مورد رمزهای عبور مشکل دار هشدار دهد، اما درخواست از کاربران برای پیمایش از صفحه اصلی به صفحه تغییر رمز عبور، علاوه بر انجام فرآیند واقعی تغییر رمز عبور (که از سایتی به سایت دیگر متفاوت است) وجود دارد. . اگر مدیران رمز عبور بتوانند کاربر را مستقیماً به URL تغییر رمز عبور هدایت کنند، بسیار ساده تر خواهد بود. اینجاست که یک URL معروف برای تغییر رمز عبور مفید می شود.
با رزرو یک مسیر URL شناخته شده که کاربر را به صفحه تغییر رمز عبور هدایت می کند، وب سایت می تواند به راحتی کاربران را به مکان مناسب برای تغییر رمز عبور هدایت کند.
"یک URL شناخته شده برای تغییر رمز عبور" را تنظیم کنید
.well-known/change-password
به عنوان یک URL شناخته شده برای تغییر رمز عبور پیشنهاد شده است. تنها کاری که باید انجام دهید این است که سرور خود را پیکربندی کنید تا درخواستهای .well-known/change-password
را به URL تغییر رمز عبور وبسایت خود هدایت کنید.
به عنوان مثال، فرض کنید وب سایت شما https://example.com
است و URL تغییر رمز عبور https://example.com/settings/password
است. فقط باید سرور خود را تنظیم کنید تا درخواستی برای https://example.com/.well-known/change-password
به https://example.com/settings/password
هدایت شود. همین. برای تغییر مسیر، از کد وضعیت HTTP 302 Found
، 303 See Other
یا 307 Temporary Redirect
استفاده کنید.
یا می توانید HTML را در URL .well-known/change-password
خود با تگ <meta>
با استفاده از http-equiv="refresh"
ارائه دهید.
<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
HTML صفحه تغییر رمز عبور خود را مجدداً مشاهده کنید
هدف این ویژگی کمک به سیال تر شدن چرخه عمر رمز عبور کاربر است. شما می توانید دو کار را انجام دهید تا کاربر را قادر کنید تا رمز عبور خود را بدون اصطکاک به روز کند:
- اگر فرم تغییر گذرواژه شما به رمز عبور فعلی نیاز دارد،
autocomplete="current-password"
را به تگ<input>
اضافه کنید تا به مدیر رمز عبور کمک کنید تا آن را تکمیل کند. - برای فیلد رمز عبور جدید (در بسیاری از موارد دو فیلد برای اطمینان از اینکه کاربر رمز عبور جدید را به درستی وارد کرده است)، به تگ
<input>
autocomplete="new-password"
اضافه کنید تا به مدیر رمز عبور کمک کنید رمز عبور ایجاد شده را پیشنهاد دهد.
در بهترین روشهای فرم ورود به سیستم بیشتر بیاموزید.
نحوه استفاده از آن در دنیای واقعی
نمونه ها
به لطف پیادهسازی Apple Safari، /.well-known/change-password
قبلاً برای مدتی در برخی از وبسایتهای بزرگ در دسترس بوده است:
خودتان آنها را امتحان کنید و همین کار را برای خودتان انجام دهید!
سازگاری مرورگر
از سال 2019 یک URL معروف برای تغییر رمز عبور در سافاری پشتیبانی می شود. مدیر رمز عبور Chrome از نسخه 86 به بعد شروع به پشتیبانی از آن می کند (که برای انتشار پایدار در اواخر اکتبر 2020 برنامه ریزی شده است) و سایر مرورگرهای مبتنی بر Chromium ممکن است از آن استفاده کنند. فایرفاکس آن را ارزش پیادهسازی میداند ، اما نشان نداده است که قصد دارد تا اوت 2020 این کار را انجام دهد.
رفتار مدیر رمز عبور کروم
بیایید نگاهی به نحوه برخورد مدیر رمز عبور کروم با رمزهای عبور آسیب پذیر بیندازیم.
مدیر رمز عبور کروم میتواند رمزهای عبور افشا شده را بررسی کند. با پیمایش به about://settings/passwords
کاربران میتوانند گذرواژهها را در مقابل گذرواژههای ذخیرهشده بررسی کنند و فهرستی از گذرواژههایی را که برای بهروزرسانی توصیه میشوند، مشاهده کنند.
با کلیک بر روی دکمه تغییر رمز عبور در کنار رمز عبوری که توصیه می شود به روز رسانی شود، مرورگر:
- اگر
/.well-known/change-password
به درستی تنظیم شده باشد، صفحه تغییر رمز عبور وب سایت را باز کنید. - اگر
/.well-known/change-password
راهاندازی نشده باشد و Google از نسخه بازگشتی اطلاعی نداشته باشد، صفحه اصلی وبسایت را باز کنید.
200 OK
را برگرداند حتی /.well-known/change-password
does not exist؟ مدیران گذرواژه سعی میکنند قبل از اینکه کاربر را به این URL بازارسال کنند، با ارسال یک درخواست به /.well-known/change-password
، تعیین کنند که آیا یک وبسایت از یک URL معروف برای تغییر رمز عبور پشتیبانی میکند یا خیر. اگر درخواست 404 Not Found
واضح است که URL در دسترس نیست، اما پاسخ 200 OK
لزوماً به این معنی نیست که URL در دسترس است، زیرا چند مورد لبه وجود دارد:
- یک وبسایت ارائهدهنده سمت سرور، زمانی که محتوایی وجود ندارد اما با
200 OK
«یافت نشد» را نمایش میدهد. - یک وبسایت ارائهدهنده سمت سرور پس از هدایت به صفحه «یافت نشد» زمانی که محتوایی وجود نداشته باشد با
200 OK
پاسخ میدهد. - یک برنامه تک صفحه ای با پوسته با
200 OK
پاسخ می دهد و صفحه «یافت نشد» را در سمت کلاینت در صورت عدم وجود محتوا ارائه می دهد.
برای این موارد لبه، کاربران به صفحه "یافت نشد" هدایت می شوند و این یک منبع سردرگمی خواهد بود.
به همین دلیل است که مکانیزم استاندارد پیشنهادی برای تعیین اینکه آیا سرور برای پاسخگویی با 404 Not Found
در زمانی که واقعاً محتوایی وجود ندارد، با درخواست یک صفحه تصادفی پیکربندی شده است یا خیر، وجود دارد. در واقع، URL نیز رزرو شده است: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200
. برای مثال، Chrome از این مسیر URL استفاده میکند تا مشخص کند آیا میتواند از قبل انتظار تغییر URL رمز عبور مناسب را از /.well-known/change-password
داشته باشد یا خیر.
وقتی در حال استقرار /.well-known/change-password
هستید، مطمئن شوید که سرور شما 404 Not Found
برای محتوای موجود برمی گرداند.
بازخورد
اگر بازخوردی در مورد مشخصات دارید، لطفاً یک مشکل را در مخزن مشخصات ثبت کنید.
منابع
- یک URL شناخته شده برای تغییر رمز عبور
- تشخیص قابلیت اطمینان کدهای وضعیت HTTP
- بهترین شیوه های فرم ورود به سیستم
عکس متیو برودر در Unsplash