امنیت ایمیل در PHP

امنیت ایمیل در PHP

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

مشکل کد بالا این است که کاربر میتواند در بخش Header  تابع ایمیل داده های غیر مجاز وارد نماید. تصور کنید که کاربر تعداد زیادی ایمیل  مانند زیر را در این بخش وارد نماید چه اتفاقی پیش می آید؟

 هر آنچه که تابع ایمیل میخواهد برای کابر بفرستند در header ذخیره شده و برای تمام ایمیل های  فرستاده میشود و از نظر وب مستر دارای ایراد است و امنیت ایمیل در PHP و باعث ایجاد اختلال در برنامه میشود.

جلوگیری از حملات به ایمیل در PHP

برای جلوگیری این حملات اسکریپتی به ایمیل در PHP به معتبر بودن داده ها را بررسی میکنیم.

برای افزایش امنیت ایمیل در PHP به کد قبل دو تابع اضافه کردیم. یک تابع بررسی میکند و تعداد ایمیل ها اگر زیاد باشد آن ها را پاک میکند دیگری معتبر بودن ان را بررسی میکند. در صورتی که این شرایط برقرار نباشد به کاربر پیغام ایمیل معتبر را وارد نمایید را نشان میدهد در غیر این صورت اطلاعات ایمیل را ذخیره کرده و ایمیلی با پیغام نوشته شده در message به کاربر ارسال میشود.

  • تابع ( ) FILTER_SANITIZE_EMAIL: اگر بیش از یک ایمیل نوشته شده باشد، ایمیل ها را پاک میکند.
  • تابع ( ) FILTER_VALIDATE_EMAIL: معتبر بودن ایمیل ها را بررسی میکند.

 

 

 

 

 

8 نظرات شما

  • مصطفی

    آبان ۱۴, ۱۳۹۲ at ۵:۳۶ ب.ظ
    سلام سایتت آینده داره، واسم جالبه مهندس صنایع php کارهههه، آفرین
    • بهاران بنی اسدی

      آبان ۱۴, ۱۳۹۲ at ۵:۴۵ ب.ظ
      سلام دوست عزیز، سپاسگزارم.
  • احسان

    فروردین ۳۰, ۱۳۹۳ at ۳:۵۵ ب.ظ
    سلام. FILTER_SANITIZE_EMAIL رو نمی دونستم. دستت درد نکنه که گفتی. درظمن از این کد htmlspecialchars هم بایداسفاده کنی که کسی کد اچ تی ام ال یا اسکریپت تزریق نکنه. من به این صورت استفاده می کنم: $ subject = htmlspecialchars(trim($_POST['subject '])); برای اینکه اشتباه نشه تو چند خط نوشتم.
    • بهاران بنی اسدی

      فروردین ۳۰, ۱۳۹۳ at ۴:۱۷ ب.ظ
      سلام خواهش میکنم. راستی کدی که نوشتی رو در درس اعتبار سنجی توضیح داده ام. خوشحال میشم این بخش را هم مطالعه کنید
  • mohammadli

    اردیبهشت ۱, ۱۳۹۳ at ۴:۵۱ ب.ظ
    بهاران جان خیلی خوبه!خوب بودن به خاطر این که سهوا یا عمدا آموزشهات اصولیه!ولی یک انتقادی رو اگه نکنم به نظرم بهت خیانت کردم و اون اینه که روانشناسیه رنگی سایت رو توی طراحیه سایتت رعایت نکردی!...منابع خارجیه فراوانی توی طراحیه سایت هستش که میتونی ازش استفاده کنی!چون تا اونجایی که من مطمینم سایت آموزشی با این رنگی که شما استفاده کردی هیچ سنخیتی نداره!
    • بهاران بنی اسدی

      اردیبهشت ۲, ۱۳۹۳ at ۸:۴۲ ق.ظ
      سلام مرسی دوست عزیز
  • s

    بهمن ۱۴, ۱۳۹۳ at ۷:۳۹ ب.ظ
    سلام.واقعا ممنون به خاطر آموزش و نکات امنیتی که خیلی خوب توضیح می دهید.لطفا به آموزش ها ادامه دهید.مرسی.
    • بهاران بنی اسدی

      تیر ۱۴, ۱۳۹۴ at ۴:۰۹ ب.ظ
      سلام ممنون. خوشحالم که آموزش ها را دنبال می کنید.

پاسخ دهید

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


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.