جلوگیری از حملات (Sql injection) برای درگاه پرداخت ها و متد Post در زبان PHP

اگر شما در متد دریافتی از درگاه های پرداخت یا هر سرویس دیگر متدی به عنوان key نداشته باشید به راحتی خود را در مقابل حملات Sql injection کاملا بی دفاع گذاشته اید ! به این نحو از منبع ناشناسی در صورت داشتان شناسه مقادیر ارسالی می توانند مقدار دلخواه شما را به دیتابیس شما تزریق کند .

خب راه حل چیست ؟ اگر درگاه پرداخت از یک key استفاده نمی کرد و یا متد ارسال خود رمزنگاری نمیکرد چه ؟

راه حل که پیش روی ما هست و یک متد ابتکاری است که می توانید از طریق آن حدود ۹۰ درصد خود را از این حملات در امان بدارید :

در دستور بالا ما چک می کنیم که متد post ارسالی  از چه منبعی ارسال شده و اگر از هر منبعی به جز perfectmoney.is باشد دستور اصلا پردازش نمی شود .

این پست حاصل تجره من و دوست بسیار خوبم مهندس رضا جباری ظهیر آبادی (مدیر سایت PADPRO) می باشد .

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

شمشاد امیری خراسانی

بنیان گذار گروه توسعه وب آریا پاد - توسعه دهنده PHP - لاراول و وردپرس

پست های مرتبط

2 نظر

  1. سجاد

    آقا جان بعید می دونم این چیزی که گذاشتی با چیزی که انجام دادید یکی باشه!
    تا جایی که یادم هست در Php تابعی به اسم ins نداشتیم که دستور شرطی بگیره و لاراول در چنین تابعی به عنوان helper وجود نداره.

    از طرفی بعید می دونم در چنین شرایطی صرف چک کردن REFERER کفایت و یا حتی درست باشه، روش منطقی تر وریفای مجدد با سرور مبدا هست ( چیزی مانند روش های handshaking ) تا اصالت اطلاعات ورودی تایید بشه.
    چون هر درگاه پرداختی در دنیا یک شناسه یکتا به هر تراکنش اختصاص میده و از طرفی تقریبا تمامی این شرکت ها یک api برای تایید اصالت یک تراکنش برحسب شناسه دارند.

    پاسخ
    1. شمشاد امیری خراسانی
      شمشاد امیری خراسانی

      آقا جان کد بد کپی شده بود . 🙂
      ما از روش منتطقی که هر در گاه پرداختی استفاده می کنه یعنی PASSPHRASE استفاده می کنیم و متد بالا صرف برای رفع بعضی مباحث مانند تزریق اطلاعات هست تا اونجایی هم که من خبر دارم ازhandshaking در websocket استفاده میشه , و فکر هم نکنم در درگاه پرداخت ها رواج داشته باشه مگه اینکه شما برای اولین بار استفاده کرده باشید .
      PM_PASSPHRASE=your_pm_password

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

      پاسخ

پاسخ دهید

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