رفتن به محتوای اصلی
تیک۴

نگاهی نو، فکر برتر

پی اچ پی

اعتبارسنجی اطلاعات در PHP

اعتبارسنجی اطلاعات در PHP
دیدگاه‌ها

اعتبار سنجی داده های ورودی که کاربر یا برنامه در صفحات وب وارد می نمایند ، یکی از مهمترین مسائل در زمینه طراحی صفحات وب امن می باشد .
برای روشن شدن مسئله به چند مثال اشاره می کنم .
فرض کنید که شما یک فرم ثبت نام در سایت خود ایجاد کرده اید . کاربر در زمان ثبت نام باید یکسری اطلاعات خواسته شده را در فرم وارد نماید . مسلما اطلاعات ورودی باید با شرایط و معیارهای مورد نظر شما ، تطابق داشته باشد .
برای مثال نام ورودی کاربر بایستی حداکثر ۱۵ کاراکتر باشد . یا مثلا رمز عبور در دو کادر به صورت یکسان بوده و یا در نهایت باید ایمیلی که توسط وی وارد می شود ،، فرمت یک ایمیل واقعی را داشته باشد و … .
یک طراح وب باید این قابلیت و توانایی را داشته باشد که بتواند داده های ورودی را با معیارهای مورد نظر خود سنجیده و سپس در صورت صحیح بودن آنها ، اطلاعات را به سرور ارسال نماید . به این کار در PHP ، اعتبار سنجی اطلاعات یا فیلتر کردن می گویند .
در این بخش قصد داریم تا شما را نحوه انجام این عملیات آشنا سازیم .

چه اطلاعاتی را باید اعتبارسنجی اطلاعات PHP نمود :

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

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

معرفی تابع های اصلی در عملیات اعتبارسنجی اطلاعات PHP :

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

تابع ( ) filter_var : این تابع یک متغیر را با یک فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
تابع ( ) filter_var_array : این تابع آرایه ای از متغیرها را با یک یا چند فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
تابع ( ) filter_input-Get : این تابع مقدار یک کادر دریافت داده را با یک فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
تابع ( ) filter_input_array : این تابع مقدار چندین کادر دریافت داده را با یک یا چند فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .

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

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

مثال :

<?php
$int = 123;
if ( filter_var ( $int , FILTER_VALIDATE_INT ) )
{
echo ( " Integer is not valid " );
}
else
{
echo ( " Integer is valid ");
}
?>

 

مرجع توابع و فیلتر های اعتبارسنجی اطلاعات PHP:

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

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

لیست توابع اعتبارسنجی اطلاعات PHP :

در زیر انواع تابع های پیش ساخته اعتبار سنج در PHP قرار داده شده.

به وسیله PHP ، می توانید مقادیر که کاربر در یک کادر متن وارد می کند را اعتبار سنجی کرده و در صورت صحیح بودن ، این مقادیر را به سرور ارسال کرده و استفاده نمایید.
 filter_has_var ( ): این تابع کنترل می کند که آیا کاربر مقدار لازم را در کادر داده ورودی وارد کرده و یا آن را خالی رها نموده است.
 filter_input ( ): این تابع مقادیر و متغیرهایی که به صفحه وارد می شوند مثل کوکی ها و یا مقادیر وارد شده در کادر های متن را دریافت کرده و اعتبار سنجی می نماید.
 filter_input_array ( ): این تابع مقدار آرایه ای از متغیر ها یا اطلاعاتی که به صفحه وارد می شوند مثل کوکی ها و یا مقادیر وارد شده در یک سری کادر متن را دریافت کرده و اعتبار سنجی می نماید.
 filter_list ( ): تابع ( ) filter_list ، آرایه ای از کلیه فیلترهای اعتبار سنجی که سرور PHP و مرورگر کاربر پشتیبانی می کند ، را بر می گرداند.
 filter_var ( ): این تابع مقدار یک متغیر را گرفته و براساس مورد نظر برنامه ریزی شده ، اعتبار سنجی می نماید.
 filter_var_array ( ): این تابع مقدار چندین متغیر ( آرایه ای از متغیر ها ) را گرفته و براساس مورد نظر برنامه ریزی شده، اعتبار سنجی می نماید.

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

اعتبار سنجی از دو جهت صورت می گیرد :

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

امتیاز خود را ثبت کنید...

/ ۵
رای ثبت شده

ارسال دیدگاه

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