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

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

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

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

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

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

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

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

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

2
دیدگاه بگذارید

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
شمشاد امیری خراسانیسجاد Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
سجاد
Guest

آقا جان بعید می دونم این چیزی که گذاشتی با چیزی که انجام دادید یکی باشه! تا جایی که یادم هست در Php تابعی به اسم ins نداشتیم که دستور شرطی بگیره و لاراول در چنین تابعی به عنوان helper وجود نداره. از طرفی بعید می دونم در چنین شرایطی صرف چک کردن REFERER کفایت و یا حتی درست باشه، روش منطقی تر وریفای مجدد با سرور مبدا هست ( چیزی مانند روش های handshaking ) تا اصالت اطلاعات ورودی تایید بشه. چون هر درگاه پرداختی در دنیا یک شناسه یکتا به هر تراکنش اختصاص میده و از طرفی تقریبا… Read more »