اعتبار سنجی داده ها در PHP

1
13
اعتبار php

یکی از مهمترین مسئله ای که در هنگام طراحی صفحات وب با php باید توجه داشت اعتبارسنجی داده های ورودی که توسط کاربر و یا برنامه در برنامه وارد می شود. فرض می کنیم که یک فرم ثبت نام در سایت ایجاد کردیم و کاربر در زمان ثبت اطلاعات باید یکسری اطلاعات درخواستی در فرم وارد کند لذا اطلاعات ورودی باید با شرایطی که ما تعیین می کنیم داشته باشد. به عنوان مثال می توان برای نام حداکثر کاراکتر را تعیین و یا فرمت هایی که برای رمز عبور ، اعداد و ایمیل تعیین کنیم  مورد نظر شما مطابقت داشته باشد.   که این کار در php اعتبارسنجی شده و اطلاعات به سرور ارسال می شود.

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

 انواع داده هایی که در صفحه وب وارد می شود عبارت است از:

داده هایی که کاربر در فرم های وب وارد می نماید .

کوکی هایی که مرورگر ارسال می کند.

داده های سرویس های وب .

نتایج جستجو در پایگاه داده های سرور ( Query Results ) .

 

معرفی تابع هایی که در عملیات اعتبار سنجی فرم های طراحی شده با PHP مورد استفاده قرار می گیرند و دارای بیشترین کاربرد در php هستند به شرح زیر می باشد:

تابع ( ) filter_var : این تابع یک متغیر را با یک اعتبار سنجی خاص اعتبار سنجی می کند .

تابع ( ) filter_var_array : این تابع آرایه ای از متغیرها را با یک یا چند اعتبار سنجی خاص اعتبار سنجی می کند .

تابع ( ) filter_input-Get : این تابع مقدار یک کادر دریافت داده ها را با یک فیلتر اعتبار سنجی خاصی اعتبار سنجی می کند

تابع ( ) filter_input_array : این تابع مقدار چندین کادر دریافت داده ها را با یک یا چند اعتبار سنجی خاص  اعتبار سنجی می کند .

یک عملیات اعتبار سنجی را در مثال زیر تعرف کردیم . در این مثال ابتدا یک متغیر تعریف کردیم . سپس توسط یک دستور با استفاده از تابع “FILTER_VALIDATE_INT” که همانگونه که گفته شد یکی از تابع های اعتبار سنجی پیش فرض در PHP است ، این دستور بررسی شده است که آیا متغیری که ما تعریف کردیم ، عددی است یا غیر عددی . در صورتی که عدد باشد عبارت “متغیر از نوع عددی است ” و در صورتی که عدد نباشد عبارت “متغیر از نوع عددی نیست” در خروجی چاپ کند:

< ? php

  $int = 34636;

    if ( filter_var ( $int , FILTER_VALIDATE_INT ) )

      {

        echo ( ” متغیر از نوع عددی نیست ” ) ;

      }

    else

      {

        echo ( ” متغیر از نوع عددی است ” ) ;

      }

?>

یک دیدگاه

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید