PDA

View Full Version : سوال: قفل شدن اکانت پس از چندین بار اشتباه وارد کردن رمز عبور؟



sherlock0111
پنج شنبه 07 فروردین 1393, 15:58 عصر
سلام دوستان گرامی
می خوام صفحه ی لاگین من این امکان رو داشته باشه که پس از چند بار اشتباه وارد کردن رمز به مدت معینی بسته بشه و کاربر نتونه حتی با وارد کردن رمز درست هم وارد کنترل پنل بشه؟
لطفا راهنمایی بفرمایید!

id1385
پنج شنبه 07 فروردین 1393, 19:36 عصر
سلام
شما کد صفحه لاگین رو حداقل بزار اینجا تا بشه بهتر راهنمایی کرد.
(به صورت ساده) تعداد اشتباهات رو در یک سشن و زمان دسترسی غیرمجاز را دریک شسن دیگر ذخیره کن، تا موقعی که زمان دسترسی غیر مجاز کوچکتر از زمان بررسی اطلاعات نشده اصلاً نیاز به بررسی اطلاعات نداری و مستقیماً قفل بودن صفحه به مدت ... رو اعلام کن، اگه تعداد اشتباهات به تعداد دلخواهت رسید اونوقت سشن زمان دسترسی غیر مجاز رو مقدار دهی کن.

موفق باشید.

masiha68
جمعه 08 فروردین 1393, 08:48 صبح
سشن ها قابل اعتماد نیستنن چون از بین میرن . بهتره توی جدول لایگن یه قسمت هم برای لاگین های اشتباه بزاری و هر وقت به تعداد معینی رسید دیگه لاگین انجام نشه و بنویسه اکانت مسدود شده و برای فعال سازی اکانت هم یه ایمیل فعال سازی ارسال بشه . البته اگه از کوکی ها هم استفاده بشه که چ بهتر . یه کوکی که واسه هر بار لاین ناموفق مقدارش یه دونه بیشتر شه و وقتی هم به مقدار معین رسید دیگه اون قسمت رو نیاره ... البته کوکی خیلی راحت از بین میرن ولی واسه کاربر عادی جواب میده و بهترین کار همون فیلد لاگین ناموفقه

eshpilen
جمعه 08 فروردین 1393, 13:18 عصر
سشن و کوکی هردوشون توسط کلاینت قابل حذف هستن، بنابراین استفاده ازشون به این شکل در این کاربرد اشتباهه.

id1385
شنبه 09 فروردین 1393, 12:19 عصر
با سلام
با فرمایشات دوستمون آقای
masiha68 کاملاً موافقم، اینکه سشن و کوکی غیرقابل اعتماد هستن منطقیه، ولی توجه داشته باشید همونطور که عرض کردن این روش صرفاً یک روش مبتدی و ساده است.
وگرنه در برنامه هایی که امنیت اهمیت بالایی دارد مطئناً باید از دیتابیس کمک گرفت، هرچند پیشنهاد بنده در این مورد نیز استفاده از دیتابیس است، قبلاً در این مورد در پستهای بنده آموزش استفاده از سشن ها در دیتابیس وجود دارد.

موفق باشید

MMSHFE
شنبه 09 فروردین 1393, 12:52 عصر
بهتره کمی رعایت حال کاربران رو هم بکنید. برای مثال شاید کاربر بنده خدا واقعاً رمزش یادش رفته یا یکی که باهاش خصومت داره و شناسه کاربریش رو میدونه، عمداً چند بار رمز رو اشتباه وارد کنه تا اکانتش قفل بشه. اینجور مواقع بهتره ضمن قفل کردن اکانت، یک لینک تغییر رمز به ایمیلی که موقع ثبت نام داده، بفرستین و بهش بگین که اکانتتون قفل شده و درصورت تمایل برای بازکردنش، باید وارد ایمیلتون بشین و رمز جدید بگذارین. اینطوری اگه ایمیلش هم اشتباه وارد شده باشه یا هک شده باشه، دیگه مسئولیتی متوجه شما نیست. برای پیاده سازی این روش هم کافیه یک فیلد برای تعداد دفعات تلاش جهت لاگین بگذارین و هربار که رمز اشتباه وارد میشه، یک واحد بهش اضافه کنید و مثلاً اگه به 3 رسید، اکانت قفل میشه و ایمیل رو میفرستین. حالا هرموقع تونست لاگین کنه، اون فیلد رو صفر میکنید. توی لاگین هم فقط وقتی اجازه میدین وارد بشه که اون فیلد، کوچکتر از 3 باشه.

sherlock0111
یک شنبه 10 فروردین 1393, 10:50 صبح
ممنون از دوستان حل شد!

SilverLearn
یک شنبه 10 فروردین 1393, 11:11 صبح
فقط بنده یک قسمت رو اضاف کنم :

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

دقیقا مثل اسکریپت whmcs که بعد از 3 بار لاگین ناموفق آی پی رو بن کرده و یک ایمیل حاوی اطلاعات آی پی و ... به کاربر اصلی میفرسته


موفق باشید

MMSHFE
یک شنبه 10 فروردین 1393, 11:25 صبح
اتفاقاً برعکس مسدود کردن بر اساس IP رو کار خوبی نمیدونم چون توی اینترنت Dial-Up و ADSL خیلیها با IP مشترک سایت رو مورد بازدید قرار میدن و با این کار، دسترسی همه اونها به سایت قطع خواهد شد. ازطرفی به راحتی میشه با خاموش و روشن کردن مودم ADSL یا استفاده از یک کارت اینترنت Dial-Up دیگه و یا حتی با نرم افزارهای IP Changer آدرس IP رو تغییر داد.

SilverLearn
یک شنبه 10 فروردین 1393, 11:31 صبح
درسته آقای شهرکی قبلش می خواستم این چیزها رو بنویسم که ممکنه آی پی عوض بشه ولی ...

نگاه کنید اولا دسترسی به کل سایت که قطع نمیشه و فقط قسمت لاگین و...

و نکته دیگه ای هم که هست میشه یک expire time برای بن بودن آی پی گذاشت که بعد از مدت خاصی آی پی پاک بشه و....

در کل به نظر بنده آی پی در این روش حتی برای جلوگیری از حملات brute force نیز خیلی عالی هستش

MMSHFE
یک شنبه 10 فروردین 1393, 18:51 عصر
خوب معمولاً 90٪ امکانات سایت هم مربوط به کسانی هست که لاگین میکنن و بجز اون، چیزی بیشتر از یک سایت معرفی کننده نخواهیم داشت. درهرصورت چیزی که مسلمه اینه که باید زمان انقضا برای Ban بودن IP بگذاریم ولی باز هم توی مدتی که IP مسدود شده، هیچ کس با اون IP نمیتونه وصل بشه و این یعنی عدم امکان ارائه خدمات به تعداد زیادی از کاربران درحالی که هیچ تخلفی مرتکب نشدن و این مسئله نارضایتی زیادی در پی خواهد داشت. برای جلوگیری از Bruteforce هم روشهای بهتری مثل استفاده از الگوریتم کند برای تولید Hash و نمایش CAPTCHA بعد از چند بار واردکردن رمز اشتباه وجود داره.

SilverLearn
یک شنبه 10 فروردین 1393, 18:58 عصر
کلا قبول دارم جناب شهرکی .... :)

ولی برای قسمت لاگین Admin آی پی دیگه نیازه :)

MMSHFE
یک شنبه 10 فروردین 1393, 23:45 عصر
نمیدونم شاید نظرمون با هم متفاوت باشه ولی در کل من بین Admin و بقیه کاربران فرقی نمیگذارم چون ممکنه که Admin هم با IP های مختلفی بخواد لاگین کنه و اگه یه IP رو مسدود کنیم، شاید اون IP همونی باشه که دفعه بعد Admin باهاش لاگین میکنه یا هر احتمال دیگه. درهرصورت محور اصلی صحبت من اینه که IP معیار محکم و قابل قبول و حتی بهینه ای برای امنیت لاگین نیست.

SilverLearn
یک شنبه 10 فروردین 1393, 23:52 عصر
دقیقا اینجا دیگه باهاتون موافق نیستم

و همچنان می گم که برای admin استفاده از آی پی کاملا می تونه امنیت رو کمی حفظ کنه .....

در هر صورت خودم اگر بخوام سیستمی طراحی کنم حتما این موضوع رو در نظر می گیرم

البته از گفته های قبلی شما هم استفاده می کنم ( همونطور که گفتم موافق جملات قبلیم )

abolfazl-z
چهارشنبه 13 فروردین 1393, 14:02 عصر
یک روش امنیتی جالبی هم وجود دارد که فیس بوک از آن استفاده می کند.

بر فرض مثال وقتی که من در فیس بوک ثبت نام می کنم آی پی من که بیانگر مشخصات جغرافیایی من هست در پایگاه داده فیس بوک ثبت می شود و زمانی که می خواهم وارد شوم اگر از یک کشور(حالا دقیق نمیدونم کشور رو گیر میده یا شهر یا استان و ...) دیگری وارد شوم فیس بوک اکانت من رو بلاک می کنه و اقدامات لازم رو انجام میدهد.

MMSHFE
چهارشنبه 13 فروردین 1393, 14:57 عصر
دقیقا اینجا دیگه باهاتون موافق نیستم

و همچنان می گم که برای admin استفاده از آی پی کاملا می تونه امنیت رو کمی حفظ کنه .....

در هر صورت خودم اگر بخوام سیستمی طراحی کنم حتما این موضوع رو در نظر می گیرم

البته از گفته های قبلی شما هم استفاده می کنم ( همونطور که گفتم موافق جملات قبلیم )

فرض کنید شما قراره ادمین سیستمی باشین که من قراره طراحی کنم. میتونید بهم تضمین بدین که همیشه با یک IP یکسان وارد سایت بشین؟

SilverLearn
چهارشنبه 13 فروردین 1393, 14:59 عصر
درود

تضمینی وجود نداره

بعدشم expire time رو گذاشتیم برای همین دیگه ...

و اینکه دسترسی به پنل هاست هست و می تونه از phpmyadmin آی پی خودش رو حذف کنه....

MMSHFE
چهارشنبه 13 فروردین 1393, 15:06 عصر
خوب اونوقت من اگه فقط بخوام شما مدیر سایت باشی و مطالب رو تغییر بدی و دسترسی به هاست بهتون ندم چی؟ مدام میخواین زنگ بزنین که Unlock کنمتون یا میخواین تا فردا صبر کنید که Expire بشه؟

SilverLearn
چهارشنبه 13 فروردین 1393, 15:11 عصر
من که نگفتم یک آی پی پیش فرض ست کنیم که !

در صورتی که کاربر هنگام ورود اطلاعات کاربری اشتباه وارد کنه ( مثلا 3 بار ) آی پی طرف ثبت بشه و دیگه تا expire time تموم نشده اجازه ورود نداشته باشه ...

ولی در صورتی که اطلاعات صحیح وارد بشن که نیازی به ثبت آی پی نیست ...

مدیر هم باید حواسشو جمع کنه تا اطلاعات رو صحیح وارد کنه

MMSHFE
چهارشنبه 13 فروردین 1393, 15:12 عصر
بهرصورت چیزی که مسلمه اینه که استفاده از IP خیلی حساسیت و دقت بالا لازم داره و به هیچ عنوان روش کامل امن و حتی بهینه و مناسبی نیست (در اکثر کاربردها).

SilverLearn
چهارشنبه 13 فروردین 1393, 15:18 عصر
ولی به نظر من در بعضی موارد خیلی کاربرد داره

مثلا بگذارید یک مثال بزنم > من مدیر یک سرور اختصاصی هستم که مشتریان زیادی اعم از سرور مجازی و هاست اشتراکی رو روی این سرور دارم . حالا برای اینکه خودم راحت تر باشم و همش نخوام آی پی رو عوض کنم بیام و امنیت کلی سایت و سرویس رو نادیده بگیرم ....

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

alipour57
چهارشنبه 14 بهمن 1394, 11:28 صبح
سلام ،من چند بار رمز رو اشتباهی وارد کردم الان قفل شده ،چطور میتونم دوباره با همون سیمکارت دوباره بیام تلگرام؟