نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: در خواست تابعی برای ایمن سازی داده های دریافتی از کاربران

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #2
    عضو جدید
    تاریخ عضویت
    Feb 2017
    نوشته ها
    43
    تشکر تشکر کرده 
    29
    تشکر تشکر شده 
    49
    تشکر شده در
    25 پست

    پیش فرض پاسخ : در خواست تابعی برای ایمن سازی داده های دریافتی از کاربران

    سلام.
    واسه این کار در PHP چندین تابع وجود داره. در ضمن باید مشخص بشه قصدتون دقیقا چه نوع ایمن سازی ای هست.
    کلا 3 نوع ایمن سازی داده داریم:


    • Validating
    • Sanitizing
    • Escaping


    Validating یا معتبرسازی: مواقعی استفاده میشه که شما قصد داشته باشی نوع خاصی از داده ورودی رو دریافت کنی. مثلا شماره موبایل، جنسیت، لیست شهرها و ...
    نوشتن توابع معتبرسازی هم به عهده ی خود کاربره (البته هستند توابع و کلاسهایی که این کارها رو بکنند ولی برخی مواقع پیش میاد که شما میخوایید داده ورودی کاربر یه فرم خاص باشه. مثلا اجازه ثبت نام فقط و فقط با شماره خط رایتل! که چک کردن اینکه آیا داده ورودی مربوط به تلفن همراه، به فرم درست پیش شماره های رایتل دریافت شده یا خیر به عهده شماست و می تونید به فرض از تابع preg_match استفاده کنید.)

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



    • htmlentities
    • htmlspecialchars
    • strip_tags


    Escaping: اینجا باید حواسمون باشه که داده کاربر رو چطور میخواییم نمایش بدیم و چطور میخواییم ذخیره کنیم!
    یعنی چی؟ یعنی ما با استفاده از Validating, Sanitizing مطمئن شدیم که کاربر داده های معتبری وارد کرده و همچنین مثلا تگهایی رو هم که دوست نداشتیم وارد کنه رو از ورودی پاک کردیم. حالا به فرض ممکنه ما اجازه داده باشیم که کاربر از تگهای b, center, video, audio, p, a واسه داده ورودی استفاده کرده باشه. خوب، تا اینجای کار مشکلی نیست و داده درست و طبق چیزی که خواستیم ذخیره شده. حالا واسه نمایش، شاید توی صفحه خاص دوست نداشته باشیم که اون داده کاربر که با تگ b و به صورت بولد ذخیره شده بوده به صورت بولد هم نمایش داده بشه! اینجاست که از escaping استفاده می کنیم. یعنی اجازه نمیدیم کدهای ذخیره شده، کاری رو که قرار بوده بکنند انجام بدند! امیدوارم متوجه شده باشید چی میگم. یا مثلا موقع ثبت داده در پایگاه داده. باید مواظب باشیم که SQL Injection کار دستمون نده!

    شما اگه این 3 مفهوم رو خوب متوجه بشید به سادگی میتونید سایتتون رو ایمن کنید. البته اینها ایمن سازی سمت کد هستند و ایمن سازی سمت سرور هم یه بحث جداست!

    راستی حواستون به cross site request forgery هم باشه. اگر ما سایت رو در برابر حملات XSS یا cross site scripting مقاوم کنیم باید حواسمون به cross site request forgery هم باشه که مبادا همه چی رو رعایت کرده باشیم ولی از این نقطه که اکثر افراد هم ازش غافل هستند سایتمون آسیب ببینه.

    موفق باشید.

  2. تعداد تشکر ها از server95 به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: January 2nd, 2016, 10:10
  2. درخواست طراحی اسکریپت تبلیغاتی شبکه های اجتماعی
    توسط dbone در انجمن درخواست خدمات برنامه نویسی
    پاسخ ها: 2
    آخرين نوشته: November 30th, 2015, 09:11
  3. پاسخ ها: 3
    آخرين نوشته: September 2nd, 2013, 20:11
  4. درخواست vps با پینگ خوب/بدون قطعی/سیستم عامل k/ضمانتی
    توسط Punisher در انجمن درخواست سرور مجازی
    پاسخ ها: 5
    آخرين نوشته: April 16th, 2013, 19:02
  5. پاسخ ها: 84
    آخرين نوشته: July 27th, 2012, 17:19

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •