به نام خدا

 

همونطور که در مطلب قبلی اشاره کردیم باگ sql injection بشدت فراگیر و خطرناک هست در همین جهت تصمیم گرفتیم در یک مطلب جداگانه روش کامل جلوگیری یا پچ کردن باگ sql injection رو بگیم

 

 

جلوگیری از باگsql injectin  در php :

برای پچ این باگ در php باید با استفاده از کتابخانه PDO ( php Database Opject) این کتابخانه علاوه بر امکانات امنیتی امکانات بسیار دیگری دارد که در ادامه خواهیم گفت

اتصال به دیتابیس در این کتابخانه خیلی راحته و با یک خط کد میشه این رو نوشت همچنین اگر در بین کار مجبور شدید سرور و دیتابیس خودتون رو تغییر بدین فقط و فقط با تغییر خط کد میتونید این کارو کنید

به عنوان مثال برای اتصال به دیتابیس در PDO باید مثل کد زیر عمل کنیم

 

$connection = new PDO('mysql:host=host;dbname=Database','username', 'password');

 

اینجا یک متغییر تعریف کردیم و یک کانکشن جدید ساختیم که سه تا ورودی می گیره اولین ورودی که نوع دیتابیس شما هست که داخل ورودی اول دو پارامتر میگیره که اولین پارامترش نوع دیتابیس هست دومین هم نام سرور و سومین پارامترش هم اسم دیتا بیسمون هست

در ورودی دوم یوزرنیم دیتابیس و در ورودی سوم هم پسورد رو میگیره

که نمونه کامل ترش رو برای مای اسکیوال می تونید ببینید

 

$connection = new PDO('mysql:host=localhost;dbname=opensecurity','root', 'root');

 

در پایین هم یک تیکه کد برای مثال از اتصال و کنترل ارور های اتصال در این کتابخانه رو می بینید

 

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>

 

 

 

جلوگیری از باگ sql injection در سیستم مدیریت محتوای وردپرس :

خوشبختانه خود هسته وردپرس همچین باگی رو نداره اما ممکنه پلاگین ها و قالب هایی که نصب میکنید این باگ رو در ورودی هایی که میگیرن داشته باشن در همین جهت باید در نصب پلاگین ها وقالب ها دقت کنید که باگ نداشته باشن

اما اگر افزونه یا قالبی بود که باگ رو داشت و نمی خواستین حذفش کنین باید از پلاگین امنیتی wordfence استفاده کنین چون این پلاگین تمام ورودی ها رو قبل از تحلیل شدن اسکن میکنه و اگه مخرب باشن از اجرا شون جلوگیری میکنه که این خودش میتونه چندین باگ رو برطرف کنه علاوه براین وردفنس فایل های موجود رو هم اسکن میکنه و اگر پلاگین یا هر چیز الوده دیگه ای باشه اون رو حذف می کنه که این هم خیلی خوبه چون مثل یک انتی ویروس عمل می کنه همچنین میتونه تا حدی جلو اسپم ها و حملات دیداس رو بگیره و کمک زیادی به سایت شما می کنه و در کل افزونه امنیتی کامل و جامعی هست که به مدیران وبسایت ها این رو توصیه می کنیم

 

اگر هر سوالی داشتین در بخش نظرات بگین تا پاسخگو باشیم

اگر ایراد یا مشکلی هم در مطلب بود حتما در بخش نظرات بگین