امنیت سایت در php – بخش دوم باگ SQLI

0 22

باگ SQLI  چیست :

باگ SQLI زمانی رخ میدهد که برنامه نویس قسمتی از کوئری خود را از کاربر میگیرید .

حال اگر برنامه نویس قسمت دریافت شده از کاربر را از دستورات SQL پاک سازی نکند به راحتی میتوان به دیتا بیس سایت دست رسی پیدا کرد .

سناریو هک با باگ SQLI و یک نمونه کد آسیپ پذیر :

فرض کنید برنامه نویس کدی مانند کد زیر نوشته است <?php

حال اگر کاربر بجای وارد کردن id کد زیر را وارد کند کار تمام است :

UNION SELECT admin FROM user

 

راه حل جلو گیری از باگ SQLI:

راه حل پاک سازی ورودی ها از دستورات خطرناک است برای این کار از تابع mysql_real_escape_string استفاده میکنیم  .

البته روش های دیگری هم هست اما بهترین روش و آسان ترین روش همین است . برای استفاده از این تابع مانند زیر عمل میکنیم :

 

در این پست و پست قبلی شما رو با دو باگ مهم آشنا کردم حال برای اینکه کلا از شر این دو باگ خلاص شویم برای خودمون یک فانکشن بنویسیم تا تمامی ورودی خودمون رو فیلتر کنیم فانکشن ما میتوان به شکل زیر باشد

همانطور که در کد بالا مشاهده میکنید متد clean  توانسته به راحتی تمامی ورودی ها رو فیلتر و پاک کند .

در پست بعدی شما را با باگ های RFI , LFI و نحوه مقابله با این باگ آشنا میکنیم

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

ترک یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.