کد وردپرس: افزایش امنیت سایت و جلوگیری از حملات سایبری هکران

مسیح دیندار
مدیریت
عضو شده: 2021-04-12 14:23:35
2021-04-25 17:29:01

سایت ها همیشه و هر زمانی در معرض خطر هک شدن هستند. هکرها با روش های مختلفی سعی می کنند به سایت ها نفوذ کنند. یکی از روش های هک کردن سایت ها که هکران استفاده می کنن، ارسال دستورات HTTP برای انجام کارهای مشخص هست که با افزایش تعداد درخواست ها، اسکریپت مدیریت محتوا از خود ضعف نشان داده و باعث باز کردن دسترسی هکر به سایت می شود.

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

موردی که در ابتدای این تاپیک عرض کردم دستورات HTTP به صورت دستورات مدیریتی توسط نرم افزارهای مخصوصی در سایت شما اجرا میشن. این دستورات مثل یک آدرس اینترنتی هستند که در اون اطلاعات مختلفی رو لحاظ می کنند و به سایت ارسال می کنند. وردپرس باید به همه اون دستورات پاسخ بده و بررسی کنه که درخواستی که ارسال شده معتبر هست یا خیر. با افزایش تعداد درخواست ها، و کاهش قدرت آنالیز وردپرس، راه نفوذ باز میشه. حالا ما می تونیم تا حدودی این بحث رو حل کنیم.

کاری که افزونه های امنیتی وردپرس براتون انجام میدن در واقع یکی از اون کارها همین کد زیر هست. این کد زمانی که تعداد درخواست ها در مدت زمان کوتاه افزایش پیدا کنه، به کاربر یک خطا نشون میده و مانع از ادامه کار اون میشه. کد زیر رو در فایل functions.php قالبتون قرار بدید. نیازی به تغییر نداره:

global $user_ID; if($user_ID) {
if(!current_user_can('administrator')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "eval(") ||
stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
stripos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}