جلوگیری از sql injection در php

جلوگیری از sql injection

آموزش جلوگیری از sql injection در وب سایت های php در ادامه اموزش با ما همراه باشید.

sql injection از اسیب پذیری بسیار خطر ناک و رایج است که منجر می شود نفوذگر با سو استفاده از ان به اطلاعات دیتابیس وب سایت دسترسی بگیرد که با این اتفاق تمامی اطلاعات مهم دردسترس هکر قرار خواهد گرفت که در اموزش باگ sql injection به صورت کامل به نحوه استفاده از این حفره امنیتی پرداخته ایم، sqli در واقع از اشتباهات برنامه نویس ایجاد می شود که در ادامه می خواهیم به روش های جلوگیری از ان بپردازیم.

همانطور که گفته شد اسیب پذیری sql injection از اشتباه برنامه نویس به وجود می اید و در نتیجه باید برای حل ان از کد نوسی اقدام اولیه را انجام داد. در هنگام کد نویسی اگر یک ورودی از کاربر گرفته شود و ان با استفاده از یک متغیر برای مثال در تابع mysql_query قرار بگیرد ، که برای اجرای کوئری در دیتابیس است اینجا اسیب پذیری به وجود می اید یعنی کاربر می تواند ورودی خود را به کوئری دیگری تغیر دهد تا اطلاعات دیتابیس را استخراج کند.

چگونه می توان از باگ sql injection جلوگیری کرد ؟

بعد از گرفتن ورودی از کاربر باید کاراکتر های ورودی کاملا کنترل شوند تا در صورت وارد شدن کوئری های اضافه از سمت نفوذگر ان ها فیلتر و بی اثر شوند؛ برای این کار می توانید به صورت دستی یک تابع بنویسید که کاراکتر های ” / () + * ‘ فیلتر کند یا از int استفاده کنید تا به صورت کامل اسیب پذیری رفع یا پچ شود.

استفاده از فایروال

زمانی که اسیب پذیری وجود داشته باشد و از ان بی اطلاع باشید فایروال می تواند کمک شایانی برای جلوگیری از sql injection کند چرا که بین کلاینت و سرور قرار می گیرد و کاراکتر های وارد شده را فایروال قبل از رسیدن به سرور فیلتر میکند ، لازم به ذکر است که برخی از CDN ها هم این قابلیت را داند که می توانید برای اشنایی بیشتر با ان ها اموزش کلودفلر را مشاهده کنید.

جلوگیری از sql injection در php
مقابله با sql injection از طریق فایروال

جلوگیری از sql injection با htaccess

یکی دیگر از راه های جلوگیری از این باگ استفاده از فایل htaccess در سرور است که می توانید با استفاده از ان کد هایی را اضافه کنید که ورودی ها را کنترل کند برای شما کدی را در قرار داده ایم که می توانید از لینک زیر ان را دریافت کنید و به این فایل در دایرکتوری اصلی سرور اضافه کنید تا از حملات sql injection جلوگیری کنید.

دریافت فایل



5/5 (1 نظر)

مطالب مرتبط

۲ دیدگاه در “جلوگیری از sql injection در php”

  • mr.msf.lki آذر 3, 1399 پاسخ

    سلام ممنون از اموزش خوبتون
    من یه سوال داشتم زمانی که با htaccess امنیت رو اوکی میکنیم و بعضی دستورات رو بلاک میکنیم خب هکر اگه بیاد مثلا ما from رو بلاک کردیم هکر ببینه خطا میده میکنتش FrOM اون موقع هم جواب میده ؟

    • نیما حسینی آذر 7, 1399 پاسخ

      درود بر شما
      این موردی که فرمودید ساده است و با این روش بایپس نمی شود اما راه های زیادی برای دور زدن این روش هم وجود دارد ما فقط سعی می کنیم کار هکر را سخت کنیم.
      بهترین کار امن کردن از طریق کد نویسی است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قوانین پن تست کور
دوره کالی لینوکس
نماد های اعتماد
نماد های اعتماد