ترفند های امنیت در php | فصل دوم

با وجود تلاش های بسیار زیادی جهت ایمن سازی زبان برنامه نویسی PHP ،هنوز این مسئله پر از پیچ و تاب است که در صورت عدم تسلط بر روی برنامه نویسی ایمن در php ،  آسیب پذیری هایی به وجود می آیند.

PHP (Hypertext Preprocessor) یک زبان برنامه نویسی سمت سرور و منبع باز است که جهت ایجاد وب سایت های داینامیک طراحی و در طی سال ها توسعه داده شده است.

ترفند های امنیت در php | فصل اول

۱٫ عدم اعتبارسنجی ورودی و رمز نگاری

اعتبارسنجی ، اولین و مهمترین نکته ی برنامه نویسی ایمن در php است تا از ورودی های مخرب جلوگیری شود. از اعتماد به هر ورودی کاربر خودداری کنید. به عنوان مثال :

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

PHP_SELF “])؛؟>”> همانطور که می بینید از کد ، داده های فرم با استفاده از روش “post” پردازش می شود. $ _SERVER [“PHP_SELF”] (معرفی شده در PHP 4) یک متغیر جهانی جهانی یا خودکار است که در سراسر اسکریپت موجود است.

نام اسکریپت در حال اجرا را برمی گرداند. در این حالت ، داده های فرم ارسال شده را به جای هدایت به مکان دیگر ، به خود صفحه منتقل می کند.
این روش امنیتی در فرم های PHP تضمین می کند که کاربر پیام های خطایی را در همان صفحه دریافت می کند.
علاوه بر این ، عملکرد () htmlspecialchars () نقش اساسی در تبدیل کاراکترهای ویژه به  HTML را بازی می کند.

۲٫ برنامه نویسی ایمن در php : تنظیم گزینه ی open_base_dir

دستورopen_basedir فایل هایی را که PHP می تواند از فهرست دایرکتوری open_basedir و به سمت پایین به آن دسترسی پیدا کند ، محدود می کند.

یعنی به هیچ فایل یا دایرکتوری خارج از آن فهرست راهنما دسترسی ندارید. به این ترتیب ، در صورت تلاش کاربران برای دسترسی به فایل های حساس مانند / etc / passwd ، رد خواهند شد.

۳- از یک فریم ورک قدرتمند و ایمن استفاده کنید

با وجود فراز و نشیب های بسیار در فریم ورک های دستی برنامه نویسان، استفاده یکی از فریم ورک ها در این زمینه توصیه می شود. زیرا فریم ورک ها به طور خودکار آسیب پذیری های رایج و معمول را پوشش می دهند.

در حال حاضر محبوب ترین فریم ورک php ، لاراول می باشد که در عین سادگی دارای امکانات زیاد و امنیت بالایی می باشد.

چند نکته امنیتی در لاراول

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

۴- برنامه نویسی ایمن در php : اپلود ایمن فایل ها

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

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

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

$finfo = new finfo(FILEINFO_MIME_TYPE); $fileContents = file_get_contents($_FILES['some_name']['tmp_name']); $mimeType = $finfo->buffer($fileContents);

همچنین با استفاده از فریم ورک ها، می توان قوانین اعتبار سنجی بیشتری را در مورد ورودی و فایل فرستاده شده اعمال کنید.

۵- برنامه نویسی ایمن در php : لاگ کردن ارور ها به جای نمایش

پس از بارگذاری وب سایت  در سرور اولین کاری که باید انجام دهید غیرفعال کردن نمایش خطاها است،

زیرا هکرها ممکن است اطلاعات با ارزشی را از خطاها دریافت کنند. این پارامتر ها را در فایل php.ini خود تنظیم کنید :

  1. display_errors=Off
  2. log_errors=On
  3. error_log=/var/log/httpd/php_scripts_error.log

ارسال دیدگاه

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