چگونه یک URL یکبار مصرف برای ورود به DirectAdmin ایجاد کنیم

یکی از روش های ارائه شده استفاده از URL های یکبار مصرف می باشد که برای کاربر مورد نظر ما ایجاد می گردد و بوسیله آن می تواند در کنترل پنل دایرکت ادمین لاگین نماید.
نکته: کلید ورودی فعالی که برای یوزر ایجاد می گردد، می بایست در فایل user.conf ، آن یوزر حتما تعریف شده باشد.
بطور مثال برای کسی اگر قرار است دسترسی یوزر ادمین ارسال شود با دستور زیر
/usr/local/directadmin/directadmin --create-login-url user=admin
اقدام به ایجاد یک URL بشکل زیر می گردد
URL: http://1.2.3.4:2222/CMD_LOGIN_URL?hash=cJbIk9GNsXk43....xmAHSTaKFiFe
که کلید رمزنگاری hash آن بصورت رندوم و بین 120 تا 148 کاراکتر می باشد
فازعملیاتی
الف) کلید hash تولید شده در مسیر زیر بصورت global قرار می گیرد
/usr/local/directadmin/data/admin/login_hashes.conf
اما مجدد بصورت نمایه سمت چپ رمزنگاری می گردد که جزییات کلید hash در سمت راست آن قرار دارد.
بنابراین، جستجوی یک hash معین باید در هر آیتم جست و جو نماید و رمز را تا زمانی که پیدا شود آزمایش کند.
این عملیات یک کد رمزنگاری شده را بصورت "key=hash" ذخیره می کند که نشان دهنده ی یک ULR برای لاگین می باشد.
ب) وقتی یک کلید hash تایید شد، کلید ورود با یک رمز عبور رمزگذاری شده واقعی تعویض می شود و رمز عبور جدید در session فایل ذخیره می شود.
· رمز عبور نهایی قابل مشاهده نیست
· کلید عبور hash از فایل login_hashes حذف می شود.
· کوکی ارسال می شود و عملیات لاگین صورت می گیرد.
مدت زمان (اعتبار رمز)
بصورت پیش فرض این کلید hash و رمز عبور کدگذاری تا 3 روز معتبر است. بنابراین شما 3 روز زمان برای login و logout فرصت دارید. و با تبدیل کد hash به رمز عبور نیز تمدید نمی گردد.
این زمان را نیز با استفاده از دستور زیر می توانید تغییر دهید
expiry=1d
در مسیر --create-login-url واحد های زمانی معتبر به صورت s,m,h,d,M,y بوده و نسبت به کوچک و بزرگی حروف نیز حساس می باشند.
اعمال محدودیت
و در عبارت زیر می توانید یک یا تعدادی آی پی را نیز محدود نمایید.
ips=1.2.3.4,5.6.7.8-9
مشابه کلید های لاگین می توانید دستورات CMD را نیز محدود یا مجاز نمایید
deny=ALL_RESELLER,CMD_LOGIN_KEYS,CMD_API_LOGIN_KEYS
در این دستور تمامی عملیات که محدود به admin می باشد برای URL hash تولید شده بلاک می نماید. دقت نمایید اگر ALL_ADMIN را بلاک نمایید دستورات ادمین اجرا نمی شود . مثال : شمارش ajax
وقتی با کلید hash لاگین می نمایید، زمانیکه “logout” (CMD_LOGOUT) را کلیک نمایید. Session از بین می رود و کلید نیز حذف می گردد.
JSON
همچنین می توانید خروجی json با فراخوانی json=yes: مشاهده نمایید،
/usr/local/directadmin/directadmin --create-login-url user=admin json=yes
که خروجی مشابه زیر می باشد
{
"allow_htm": "yes",
"clear_key": "yes",
"expiry_timestamp": "1566096767",
"hash": "QTyjeGyhIDpZLit4....abZ2UJCczm1U",
"keyname": "HASHURLvicJDn5L",
"max_uses": "0",
"url": "http://1.2.3.4:2222/CMD_LOGIN_URL?hash=QTyjeGyhIDpZLit4....abZ2UJCczm1U"
}
مطلبی دیگر از این نویسنده
چگونه یک URL یکبار مصرف برای ورود خودکار به cPanel ایجاد کنیم
مطلبی دیگر در همین موضوع
محافظت از کودکان در اینترنت
افزایش بازدید بر اساس علاقهمندیهای شما
رکورد فروش NFT را بشکنید