• برچسب
  • نکات امنیتی در php
ترفند امنیتی برای php

+۱۵ ترفند امنیتی برای بالا بردن امنیت برنامه PHP شما – قسمت سوم

۱۱- یک نشست برای هر کاربر:
اگر لازم است، مطمئن شوید که یک کاربر از دو محل وارد برنامه نشده باشد. اگر از محل دوم وارد برنامه شد، کاربر محل اول به صورت خودکار از برنامه خارج شود. این کار برای وبسایتهایی که اطلاعات محرمانه ردوبدل میکنند مهم است. مانند فروشگاهها.

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

 

۱۲- تعیین مناسب مجوزهای دستری برای کاربر پایگاه داده:
اگر یک مشکل امنیتی کوچک در مقابل حمله تزریق کد (sql injection) در وبسایت شما وجود داشته باشد و در مجوزهای دسترسی کاربر پایگاه داده (DB USER) مجوز نوشتن (write) بر روی فایلهای سیستمی وجود داشته باشد، یک فرصت عالی برای هکرهاست تا با یک نرم افزار ساده مثل sqlmap کل وبسایت شما را زیر و رو کنند. بنابراین در هنگام تعیین مجوزهای دسترسی به کاربر پایگاه داده توجه کافی بکنید.

ترفند امنیتی برای php

+۱۵ ترفند امنیتی برای بالا بردن امنیت برنامه PHP شما – قسمت دوم

۶- به رمزهای عبور نمک بزنید! و از رمزنگاری های قدرتمند استفاده کنید:
MD5 یکی از محبوب ترین الگوریتمهای رمزنگاری مورد استفاده توسط برنامه نویسان php است. تابع md5 داده رمزنگاری شده را به درستی برمیگرداند:

هرچند که، تابع md5 روش کاملا مطمئنی برای رمزنگاری نیست. اکثر کاربران تمایل دارند از رمزهای عبور ۵،۶ کاراکتری استفاده کنند، رمزهای عبور به این شکل که از پیچیدگی مناسبی برخوردار نیستند، توسط یک حمله brute-force  (جستجوی فراگیر) ساده نیز  آسیب پذیر خواهند بود. حتی ممکن است اصلا نیازی به حمله brute-force نباشد و فقط یک جستجوی ساده ی عبارت رمزنگاری شده (hash) در گوگل، رمزعبور را در نتایج وبسایتهای تخریبگر رمزعبور نشان دهد! و شاید بازهم ساده تر از این باشد. بنابراین، این کافی نیست که فقط به کابر بگویید رمزعبور پیچیده تر انتخاب کند.

برای اینکه این مشکل حل شود، برنامه نویسها از نمک (Salt) استفاده میکنند. منظور از نمک زدن به پسوردها،

ترفند امنیتی برای php

+۱۵ ترفند امنیتی برای بالا بردن امنیت برنامه PHP شما – قسمت اول

PHP زبان برنامه نویسی  برای نوشتن برنامه های تحت وب است که برای عموم به نمایش درمیاید. از اساسی ترین ملزومات برنامه های این چنینی نگهداشتن امنیت اطلاعات آن و جلوگیری از دسترسی غیر مجاز است.

در ادامه نکات و راه حلهایی گفته میشود که به شما کمک میکند برنامه PHP خود را با امنیت بالاتری بنویسید.

۱- از تگهای کوتاه برای PHP دوری کنید:
اگر تگهای کوتاه در سرور شما خاموش باشد، تمامی کد شما به صورتی که هست به مرورگر کاربر ارسال میشود و کاربر میتواند کد PHP شما را مشاهده کند:

فقط در صورتی کد بالا به درستی کار میکند که تگهای کوتاه در سرور شما فعال باشد.

۲- اعتبار سنجی تمام داده های وارد شده توسط کاربر:
تمام داده هایی که کاربر توسط POST یا GET ارسال میکند باید فیلتر شود تا به صورت قابل قبول برای منطق برنامه باشد.
– بررسی نوع داده ارسال شده
– بررسی محدوده اعداد ارسال شده
– بررسی طول متن داده ارسال شده
– بررسی ایمیل، URL و تاریخ ارسال شده توسط کاربر
– اطمینان از نبودن کاراکترهای غیر مجاز در داده ارسال شده

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