ایجاد و عیب یابی اپلیکیشن پسورد وردپرس
برای مدت طولانی، وردپرس کاربران را ملزم میکرد تا برای انجام کارهایی مانند ایجاد نوشتههای وبلاگ، تایید نظرات و بهروزرسانی قالب یا افزونهها، وارد پیشخوان وردپرس شوند. با این حال، به لطف اپلیکیشن پسورد وردپرس و REST API آن، کاربران اکنون میتوانند این کار را از طریق سرویسها و برنامههای شخص ثالث انجام دهند.
اما، پسوردهای اپلیکیشن وردپرس چیست؟ WordPress REST API به چه معناست؟ و ارتباط آنها با یکدیگر چگونه است؟ در این مطلب به تمام این سوالات پاسخ خواهیم داد و در مورد مزایا، تولید و ذخیره WordPress application passwords بحث خواهیم کرد.
REST API و اپلیکیشن پسورد وردپرس
وردپرس REST API را برای تعامل با محتوا و داده های یک وبسایت ارائه میدهد. یک API (Application Programming Interface) به عنوان پلی عمل میکند که دو نرم افزار مختلف را قادر میسازد تا به روشی استاندارد شده با یکدیگر ارتباط برقرار کنند.
وقتی صحبت از وردپرس میشود، REST API به توسعهدهندگان اجازه میدهد از روشهای استاندارد HTTP برای انجام عملیاتهای مختلف، از جمله بازیابی فهرستی از نوشتهها، ایجاد کاربران جدید، حذف نظرات و موارد دیگر استفاده کنند.
برخی از این درخواستها نیاز به احراز هویت دارند و WordPress application passwords از اینجا وارد میشوند.
WordPress application passwords را برای برنامههای شخص ثالث ایجاد میکنید تا خود را احراز هویت کرده و از طرف شما اقداماتی را انجام دهند در واقع به آنها اجازه میدهد به راحتی با استفاده از REST API با وردپرس ارتباط برقرار کنند و وظایف خاصی مانند انتشار یک نوشته وبلاگ جدید را انجام دهند.
مزایای استفاده از اپلیکیشن پسورد وردپرس
اپلیکیشن پسورد وردپرس هم برای کاربران و هم برای توسعه دهندگان مفید است. استفاده از آنها آسان است، با احراز هویت دو مرحله ای سازگار است، امنیت را بهبود می بخشد و کنترل دسترسی بهتری را ارائه میدهد.
درخواستهای احراز هویت شده به راحتی اجرا میشوند
WordPress REST API در نسخه 4.4 بخشی از هسته وردپرس شد و توسعه دهندگان شروع به استفاده از API برای اهداف اداری کردند.
رمزهای عبور برنامه وردپرس نصب افزونه های احراز هویت اضافی را غیر ضروری و جعل کوکیها را منسوخ کرده است. یک سرویس شخص ثالث اکنون میتواند خود را با گذرواژه های برنامههای تولید شده توسط کاربر احراز هویت نموده تا از طرف کاربر عمل کند.
امنیت بهبود یافته در مقایسه با جعل کوکی
هم oAuth و هم JWT امنیت خوبی را ارائه میکنند، زیرا برای تایید اعتبار برنامهها به اعتبار کاربری مشترک متکی نیستند.
با این حال، گذرواژههای برنامه جایگزین امنتری برای برنامههایی است که برای تولید کوکی جعلی (cookie spoofing) به اعتبار کاربر نیاز دارند.
همچنین، توجه داشته باشید که گذرواژههای برنامه فقط برای احراز هویت درخواستهایی طراحی شدهاند که از طریق REST API ارائه میشوند. این بدان معنی است که بازیگران بد نمی توانند با استفاده از رمزهای عبور برنامه وارد پیشخوان وردپرس شما شوند.
مدیریت راحتتر
حساب کاربری وردپرس دارای یک رمز عبور واحد برای ورود به پیشخوان وردپرس است. فرض کنید این رمز عبور را با چندین برنامه شخص ثالث به اشتراک گذاشتهاید تا به آنها اجازه دهید تا خود را احراز هویت کنند و درخواست های REST API یا XML-RPC API را اجرا کنند.
لغو دسترسی برای یکی از این برنامهها از شما میخواهد که رمز عبور حساب خود را تغییر دهید و بقیه برنامهها را در مورد به روز رسانی رمز عبور مطلع کنید.
رمزهای عبور برنامه وردپرس این محدودیت را ندارند زیرا یک حساب کاربری میتواند چندین رمز عبور برنامه ایجاد کند و به هر برنامه اجازه می دهد رمز عبور منحصر به فرد خود را داشته باشد. میتوانید در هر زمانی دسترسی به یک برنامه را بدون تأثیرگذاری بر دیگران لغو کنید.
نحوه تولید اپلیکیشن پسورد وردپرس
کاربران ادمین و غیر ادمین می توانند با ورود به وردپرس application password را ایجاد کنند. سطح دسترسی یک برنامه به نقش کاربری که رمز عبور برنامه آن را ایجاد کرده است بستگی دارد. به عنوان مثال، یک برنامه کاربردی نمی تواند از رمز عبور یک نویسنده برای انجام کارهای مدیریتی استفاده کند.
میتوانید با رفتن به Users > Profile از پیشخوان وردپرس، یک رمز عبور برنامه جدید ایجاد کنید. سپس به پایین اسکرول کنید تا به قسمت Application Passwords بروید.
یک نام توصیفی برای رمز عبور برنامه در قسمت ورودی نام گذرواژه جدید برنامه وارد کنید. این نام باید به شما کمک کند تشخیص دهید کدام برنامه شخص ثالث از این رمز عبور استفاده میکند.
اکنون روی دکمه Add New Application Password کلیک کنید تا رمز عبور تصادفی برنامه ایجاد شود.
رمز عبور برنامه تولید شده را در مکانی امن ذخیره کنید زیرا نمی توانید بعدا آن را بازیابی کنید. اگر آن را گم کردید، باید application password را باطل و یک رمز عبور جدید ایجاد کنید.
همچنین میتوانید فهرستی از application password هایی که قبلا تولید شدهاند را به همراه اطلاعات دیگری مانند زمان ایجاد، تاریخ آخرین استفاده و آخرین آدرس IP که از آنها استفاده کرده است، مشاهده کنید.
وردپرس چگونه اپلیکیشن پسورد را تولید و ذخیره میکند؟
وردپرس از تابع ()wp_generate_password برای تولید application password طولانی 24 کاراکتری استفاده میکند. این رمزهای عبور فقط میتوانند حروف بزرگ، حروف کوچک و کاراکترهای عددی داشته باشند.
وردپرس این رمزهای عبور را در تکههای چهار کاراکتری به کاربران نمایش می دهد تا خواندن آن آسان تر باشد. در اینجا یک مثال است:
bnFz Moot JbXi 7Mui 2k7Y rRvu
فاصله بین این تکهها بی ربط است. وردپرس آن را قبل از هش کردن و تایید رمز عبور حذف میکند.
وردپرس یک نسخه هش شده از همه پسوردهای برنامه تولید شده توسط کاربر را در جدول usermeta در دیتابیس خود به همراه اطلاعاتی مانند نام رمز عبور، تاریخ ایجاد و آخرین زمان دسترسی ذخیره میکند.
اپلیکیشن پسورد در عمل
ما به راحتی می توانیم رمزهای عبور برنامه را با استفاده از Postman و API WordPress آزمایش کنیم. برای اهداف این تمرین، از نصب لوکال وردپرس استفاده خواهیم کرد.
با استفاده از Postman، میتوانیم برای نوشتهها بهصورت زیر به نقطه پایانی API درخواست دهیم:
https://parsdev.local/wp-json/wp/v2/posts
ما می توانیم نتایج را در بخش پایین اسکرین شات مشاهده کنیم.
اکنون سعی خواهیم کرد به نقطه پایانی تنظیمات دسترسی پیدا کنیم. همانطور که از اسکرین شات می بینید، ما از هیچ گونه احراز هویت استفاده نمیکنیم. در واقع، وقتی سعی می کنیم به تنظیمات دسترسی پیدا کنیم، با خطای rest_forbidden مواجه می شویم.
این به ما می گوید که برای دسترسی به تنظیمات از طریق REST API باید خود را احراز هویت کنیم. این مشکلی نیست زیرا ما اکنون می دانیم که چگونه این کار را انجام دهیم.
همانطور که تصویر زیر نشان می دهد، ما یک رمز عبور برنامه جدید ایجاد کرده ایم که نام آن را Postman گذاشته ایم.
اکنون تنها کاری که باید انجام دهیم این است که از منوی کشویی Type گزینه Basic Auth را انتخاب کرده و اعتبارنامه را وارد کنید. این به ما اجازه می دهد تا به تنظیمات وردپرس همانطور که در تصویر زیر نشان داده شده است دسترسی پیدا کنیم.
بهترین روشها برای استفاده از اپلیکیشن پسورد وردپرس
بازیگران بد نمیتوانند از گذرواژه های برنامه وردپرس برای ورود به حسابهای وردپرس شما استفاده کنند و به همین دلیل اشتراک گذاری آنها ایمن تر میشود. همچنین به دلیل طول و ترکیب کاراکترهای استفاده شده، شکستن آنها از طریق حملات brute-force تقریبا غیرممکن است. برای ایمن تر کردن آنها می توانید نکات زیر را دنبال کنید.
1. به طور مرتب رمزهای عبور برنامه تولید شده خود را بررسی کنید. گذرواژههای برنامهای را که نمیشناسید لغو کنید.
2. یک حساب کاربری وردپرس میتواند چندین رمز عبور برنامه داشته باشد. شما باید یک رمز عبور منحصر به فرد برای هر برنامه شخص ثالث داشته باشید که به شما امکان می دهد بدون ایجاد اختلال در عملکرد دیگران، دسترسی آن را لغو کنید.
3. برنامهای که خود را با استفاده از گذرواژه برنامه وردپرس احراز هویت میکند، همان حقوق حسابی را خواهد داشت که رمز عبور برنامه را ایجاد کرده است. همیشه از اصل حداقل امتیاز پیروی کنید تا مطمئن شوید که یک برنامه فقط مجوزهایی را دارد که برای عملکرد صحیح به آن نیاز دارد. به عنوان مثال، اگر یک برنامه فقط نیاز به مدیریت محتوای یک وب سایت دارد، رمز عبور برنامه خود را از طریق یک حساب کاربری با امتیازات ویرایشگر به جای امتیازات مدیریت ایجاد کنید.
4. گزارش فعالیت وردپرس را نگه دارید و به طور منظم سوابق دسترسی و تغییرات را بررسی کنید.
مشکلات رایج اپلیکیشن پسورد وردپرس و رفع آنها
اکنون، بیایید در مورد مشکلات رایج کاربران در هنگام استفاده از رمزهای عبور برنامه وردپرس و رفع آنها بحث کنیم.
رمزهای عبور برنامه وردپرس غیرفعال است
برخی از افزونههای امنیتی به طور خودکار رمزهای عبور برنامه وردپرس را برای بهبود امنیت غیرفعال میکنند. دیگران به شما اجازه میدهند آنها را به صورت دستی غیرفعال یا فعال کنید.
غیرفعال کردن آنها فقط در صورتی منطقی است که از آنها استفاده نکنید. در غیر این صورت، آنها یک راه امن برای استفاده از WordPress REST API با برنامه های شخص ثالث ارائه میدهند.
اگر یک افزونه امنیتی رمزهای عبور برنامه را در وب سایت شما غیرفعال کرده باشد، چیزی شبیه به تصویر بالا خواهید دید. اگر میتوانید افزونهای را شناسایی کنید که ویژگی رمزهای عبور برنامه را غیرفعال کرده است، میتوانید تنظیمات افزونه را بهروزرسانی کنید تا دوباره فعال شوند.
گاهی اوقات، یک تم می تواند رمزهای عبور برنامه را نیز غیرفعال کند.
افزودن یک قطعه کد خاص به فایل functions.php تم خود می تواند رمزهای عبور برنامه را نیز غیرفعال کند. برای حذف کدی که رمزهای عبور برنامه را غیرفعال می کند، باید با یک توسعه دهنده تماس بگیرید.
عدم وجود مجوز برای انجام یک عمل
گذرواژههای برنامه به یک برنامه شخص ثالث اجازه میدهند از طرف کاربر عمل کند. بنابراین، برنامه فقط میتواند اقدامات مجاز برای نقش تعیین شده کاربر را انجام دهد.
به عنوان مثال، اگر کاربر یک نویسنده باشد، یک برنامه شخص ثالث نمیتواند از رمزهای عبور برنامه ای که تولید می کند برای مدیریت نوشتههای دیگر کاربران استفاده کند. به این دلیل است که فقط ویرایشگران یا مدیران می توانند نوشتههای دیگر کاربران را ویرایش کنند.
اگر یک برنامه شخص ثالث نمیتواند یک کار را انجام دهد، به مجوزهای مرتبط با حساب کاربری که رمز عبور برنامه آن را ایجاد کرده است، نگاه کنید.
رمز عبور برنامه را گم یا فراموش کردهاید
وردپرس تنها یک بار پسورد برنامه را هنگام ایجاد آن به شما نشان میدهد. شما نمی توانید آن را تغییر یا بازنشانی کنید. این برخلاف رمزهای عبور حساب وردپرس است که می توانید با استفاده از چندین روش آن را بازنشانی کنید.
اگر رمز عبور برنامه را فراموش کرده اید یا گم کرده اید، باید آن را باطل کنید و یک رمز عبور جدید ایجاد کنید.
هاست وردپرس با وب سرور محبوب لایت اسپید و کش لایت اسپید باعث میشود تا سرعت لود فوق العادهای را تجربه کنید.
با خرید هاست وردپرس کانفیگ حرفهای و نظارت بر سرور به صورت پیوسته توسط تیم فنی پارسدِو انجام خواهد شد.
حساب های کاربری را در سایت وردپرس خود ایمن کنید
همه پسوردهای برنامه وردپرس ترکیبی تصادفی از 24 کاراکتر کوچک، بزرگ و عددی هستند. طول طولانی و تصادفی بودن آن از آن در برابر حملات brute-force محافظت می کند.
از آنجایی که بازیگران بد در شکستن رمز عبور برنامه شما برای دسترسی غیرمجاز با مشکل مواجه خواهند شد، ممکن است سعی کنند از برخی آسیب پذیری های دیگر در وب سایت شما سوء استفاده کنند. گذرواژههای ضعیف حساب کاربری یکی از این منابع آسیبپذیری است.
خوشبختانه، اقداماتی وجود دارد که می توانید برای محافظت از وب سایت خود در برابر چنین تهدیدهایی انجام دهید.
سیاستهای رمز عبور قوی را اعمال کنید
شما می توانید با اعمال سیاست های رمز عبور قوی با استفاده از پلاگین Melapress Login Security، تاثیر حملات brute-force را کاهش دهید.
این افزونه به شما امکان می دهد حداقل طول رمز عبور را برای حساب های کاربری مشخص کنید. همچنین می توانید حداقل یک نویسه کوچک، بزرگ، عددی و خاص را اعمال کنید.
اجرای سیاستهای محدودیت ورود
شخصی که از حملات brute-force استفاده می کند سعی می کند با استفاده از رمزهای عبور زیادی وارد سیستم شود به امید اینکه یکی از آنها درست باشد.
میتوانید سیاستهای ورود را در جایی که حساب کاربری پس از تعداد مشخصی تلاش مسدود میشود، پیادهسازی کنید. سپس، میتوانید مشخص کنید که آیا حساب کاربری مسدود میشود یا پس از مدتی مسدود میشود تا حمله متوقف شود یا به شدت کاهش یابد.
احراز هویت دو مرحله ای را اجرا کنید
حملات Brute-Force تنها یکی از راه هایی است که بازیگران بد حساب ها را هدف قرار می دهند. آنها همچنین می توانند از حملات فیشینگ برای فریب کاربران برای افشای اعتبار حساب خود استفاده کنند.
یک حمله فیشینگ به کاربران متکی است که اعتبار حساب خود را برای آنچه که فکر میکنند یک چهره معتبر یا یک وبسایت قانونی است فاش میکنند.
میتوانید احراز هویت دو مرحلهای را در وردپرس پیادهسازی کنید تا با استفاده از اعتبارنامههای به سرقت رفته یا لو رفته، یک دفاع خوب در برابر حملات ایجاد کنید. با این حال، استفاده از احراز هویت دو مرحله ای یک مرحله ورود اضافی را اضافه می کند. بنابراین، باید تمام تلاش خود را بکنید تا کل فرآیند را برای کاربران خود بدون دردسر کنید.
افزونه WP 2FA به شما کمک می کند تا چندین روش 2FA را به کاربران ارائه دهید. کاربران می توانند روشی را که برای آنها راحت تر است انتخاب کنند.
خطمشیهای 2FA که با استفاده از WP 2FA تعریف میکنید، برای هر نقش یا در سراسر سایت قابل تنظیم هستند. همچنین میتوانید 2FA را اجباری کنید و به کاربران مهلتی برای رعایت آن بدهید.
اگر روش احراز هویت اولیه در دسترس نیست، ایده خوبی است که به کاربران اجازه دهید روشهای پشتیبان را برای دسترسی به حسابهای خود پیکربندی کنند. میتوانید WP 2FA را به گونهای پیکربندی کنید که به کاربران اجازه دهد در صورت در دسترس نبودن روشهای اولیه، روشهای 2FA ثانویه را برای ورود به سیستم تنظیم کنند.
نتیجه گیری
بسیاری از سرویس ها و برنامه های شخص ثالث، از جمله Zapier و برنامه رسمی تلفن همراه وردپرس، از رمزهای عبور برنامه وردپرس برای برقراری تماس های API تایید شده استفاده میکنند. ما در این پست چندین مزیت رمزهای عبور برنامه وردپرس مانند امنیت بهتر و توانایی لغو رمز عبور برنامه را به طور مستقل مورد بحث قرار دادیم. به طور کلی، رمزهای عبور برنامه وردپرس یک راه امن برای برنامه های شخص ثالث برای تعامل با API وردپرس فراهم می کند. پس از خواندن این پست، همچنین باید بتوانید رمزهای عبور برنامه حساب های خود را تولید و مدیریت کنید.