باسلام، باتوجه به کمبود و ضعف های امنیتی که در بخش ورود کاربری سیستم اتوماسیون whmcs مشاهده شده است، طی زمان سعی میکنم این تاپیک را کامل کرده و ماژول هایی که مینویسم را به صورت رایگان در اختیار دوستان بگذارم.
# بلاک آیپی در صورت ناموفق بودن ورود کاربر + reCaptcha گوگل (بخش کاربری)
در صورتی که کاربر بیش از 3 بار (قابل ویرایش) ورود ناموفق داشته باشد آیپی او در بن لیست whmcs ثبت خواهد شد و در بخش آیپی های مسدود شده، قابل مدیریت خواهد بود. همچنین به فرم ورود reCaptcha گوگل اضافه خواهد شد.
1 - ابتدا sql زیر را در دیتابیس خود اجرا کنید :
کد:
https://codepaste.net/x9zfui
2 - فایل پیوست شده (faildlogin.php) را دانلود کنید سپس به مسیر public_html/includes/hooks آپلود کنید.
در لاین 74 فایل (faildlogin.php) میتوانید مدت زمان مسدود بودن آیپی، تعداد دفعالت خطا و پیام مسدود سازی را را تغییر دهید. اگر whmcs شما داخل فولدر نصب شده است در لاین 50 نام فولدر همراه با اسلش ابتدایی وارد کنید :
کد:
$whmcsFolder = null; //ex(with slash): /my
کد:
/*********************************************
YOU CAN EDIT
T.TOOSI
*********************************************/
$configureFaild['adminUsername2'] = 'admin';
$configureFaild['banExTime'] = '+2 hours';
$configureFaild['googleSecret'] = '6LcV1hoUAAAAAL04oGte0kbnHXLKazJR8U1N5SK7';
$configureFaild['faildTimes'] = 3;
$configureFaild['faildMsg'] = 'Faild Login!';
$configureFaild['whmcsFolder'] = $whmcsFolder;
$configureFaild['ip'] = $ip;
/**********************************************/
سپس برای نمایش reCaptcha فایل login.tpl قالب خود را باز کرده، ابتدا خط اضافه کنید :
کد HTML:
<script src='https://www.google.com/recaptcha/api.js?hl=fa'></script>
قبل بسته شده form اضافه کنید :
کد HTML:
<div class="form-group">
<div class="g-recaptcha" data-sitekey="6LcV1hoUAAAAADmGH99-kkipQ27GJZ9eN3xTkxBa"></div>
</div>
مقدار data-sitekey و secret (درفایل faildlogin.php) از آدرس زیر بگیرید :
کد:
https://www.google.com/recaptcha/admin