معرفی نکات امنیتی مهم برای برنامه PHP

زبان برنامه نویسی Hypertext PreProcessor یک زبان اسکریپتی اپن سورس و سمت سرور میباشد.زبان پی اچ پی مخصوص برنامه های تحت وب است. سمت سرور بودن به این معناست که صفحات پی اچ پی در مرحله اول باید بوسیه سرور Apache یا IIS  پردازش گیرند. بعد از پردازش کدهای خروجی بصورت HTML و جاوا اسکریپت برای مرورگرها ارسال خواهد شد. به عبارت دیگر میتوان وظیفه اجرا نمودن صفحات برنامه PHP بر عهده سرور وب هاست سایت دانست.

نکات امنیتی برنامه PHP

از نکات مهم امنیتی سایت هایی که با زبان برنامه PHP (پی اچ پی ) نوشته میشوند میتوان به موارد زیر اشاره نمود. در ابتدا برای شروع کار باید به نکات اولیه توجه نمود

نکات اولیه PHP

ابتدا باید کلمات عبور قوی انتخاب شوند و رمز ها بصورت ایمن ذخیره شوند. سپس register_globals و Magic quotes غیر فعال کرده و display_errors را خاموش کنیم. در نهایت سرور ما از نظر فیزیکی امن خواهد شد.

فابل از کاربر به سرور آپلود شود

در ابتدا نوع فایل باید از نظر mime_type اعتبار سنجی شود و فقط به پسوند آن اهمیت داده نشود. همچنین باید به این نکته توجه شود یک فایل تصویری گیف با mime_type ممکن است همراه خود اطلاعات غیر متقربه داشته باشد. باید رعایت حجم مجاز فضای خالی سرور و حجم آپلودی فایل مورد بررسی قرار گیرد.ممکن است فایل آپلود شدن بصورت html باشد در اینصورت باید بصورت امن نمایش داده شود.

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

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

پایگاه اطلاعات

برای انکه بتوان از حملات sql injection پیشگیری کنیم داده هایی که به دیتابیس ارسال میشود از طریق روش های زیر ایمن کنیم :

  • بتوان با توابع mysql_real_escape_string اسکیب شد یا بتوان از توابع مشابه در صورت استفاده از PDO یا MySQLi استفاده نمود.
  • دومین روش پارامتری کردن و عدم استفاده از متغیر ها در کوئری میباشد.
  • استفاده از عباراتی که از پیش آماده شده باشد.
  • دسترسی و امتیازات در حد لازمی که داده میشود.

PHP program

هویت سنجی 

به کاربر اجازه داده نخواهد شد پسورد ضعیف انتخاب کند. همچنین برای آنکه ربات ها تشخیص داده شوند فکر موثر شده است. همچنین برای آنکه پسورد ورودی کاربران توسط دیگر اشخاص اسنیف نشود از SSL استفاده شده است. همچنین از پسورد ها در دو حالت استفاده شده است یکی ذخیره نشدن در کوکی و دیگری هش شدن بصورت امن میباشد. یکی دیگر از راه های ایمن استفاده نشدن از md5 میباشد که جایگزین آن از توابع قویتری همچون hash_hmac یا crypt با rounds  استفاده خواهد شد.همچنین فرم مخصوص ریکاوری اکانت ایمیل را منتشر نخواهد کرد.

استفاده از سشن

سشن فقط از کوکی برای ذخیره نمودن خود استفاده خواهد کرد.درضورتی که logout  کنیم اطلاعات سشن نابود خواهد شد.همچنین در جاهایی که سطح دسترسی تغییر پیدا میکند سشن دوباره ایجاد خواهد شد و محلی که سشن بطور پیش فرض ذخیره میشود در سرور اشتراکی عوض خواهد شد.

جزئیات برنامه و صفحات سایت

بوسیله token یا key از حملات CSRF جلوگیری کنیم. به آدرسی که به عنوان Referrer ( ارجاع ) آمده اتکا نشده است.همچنین یکی از نکات مهم استفاده از متد POST میباشد.

رعایت نکات هاست اشتراکی 

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

نوشته های مشابه

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

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

سه × 5 =

دکمه بازگشت به بالا