طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

اعتبارسنجی فرم ها در php


اعتبارسنجی فرم ها در php

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

باید توجه داشت که اگر داده های ورودی از فرم ها به خوبی بررسی و پاکسازی نشوند، میتوانند به عنوان مهمترین وسیله هک و نفوذ به سیستم تلقی شوند. برای جلوگیری از این مسائل باید داده های ورودی از فرم ها را قبل از پردازش و ارسال به دیتابیس، بررسی  و پاکسازی کنیم. استفاده از عبارات منظم (Regular Expressions) و توابع خود php میتواند برای این موضوع مناسب باشد، که در زیر به انواع داده های فرم و نحوه اعتبارسنجی فرم ها در php اشاره شده است:

برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود

۱- اعتبارسنجی و پاکسازی و بررسی وجود ایمیل با PHP

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

و اگر از PHP 5.2 به بالا استفاده میکنید که معمولا همه از ۵٫۶ به بالا بهره می برند ، میتوانید از این روش فرم ایمیل رو اعتبار سنجی کنید:

پاکسازی ایمیل:
ما حتی میتوانیم برای اطمینان بیشتر ایمیل گرفته شده را پاکسازی کنیم:

و یا از تابع filter_var استفاده کنید که مطمین تر و سریعتر کار sanitize و پاکسازی ورودی ها را انجام می دهد.

بررسی وجود ایمیل با php :
این کار امکان پذیر نیست ولی میشود تا حد زیادی با بررسی دامنه ایمیل از وجود آن مطلع شد:

 ۲ – اعتبارسنجی و پاکسازی اعداد با PHP

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

و یا استفاده از تابع filter_var : (اعتبارسنجی فرم ها در php با تابع زیر بسیار آسان است !)

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

حتما بخوانید  آموزش Regular Expression در php (عبارت باقاعده)

و در php 5.2 به بالا :

۳ – اعتبارسنجی و پاکسازی رشته ها در PHP

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

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

و یا استفاده از توابع قدرتمند و داخلی php :

۴ – اعتبارسنجی و پاکسازی اعداد و حروف در PHP:

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

پاکسازی حروف و اعداد:
با تابع زیر میتوان داده گرفته شده از فرم را پاکسازی کرد به طوری که فقط حروف و اعداد باقی بمانند،  به این صورت که کارکترهایی مانند (! و @ و ؟ و…) حذف میشوند:

۵ – اعتبارسنجی و پاکسازی و بررسی وجود URL در PHP

 اعتبارسنجی URL:
تابع زیر از صحیح بودن فرمت آدرس URL اطمینان حاصل میکند:

و در PHP 5.2 به بالا به صورت:

پاکسازی URL:
در PHP 5.2 به بالا به صورت زیر است:

بررسی وجود URL:
با تابع زیر میتوانید از وجود یک url اطمینان حاصل کنید:

بررسی وجود عکس در URL:
با تابع زیر میتونید متوجه بشوید که در Url گرفته شده عکسی وجود دارد یا خیر:

حتما بخوانید  جلوگیری از وارد کردن کاراکترها غیر مجاز در فیلد با jQuery

۶ – اعتبارسنجی آدرس IP در PHP

تابع زیر آدرس IP خاصی را بررسی میکند:

و در php 5.2 به بالا :

۷ – اعتبارسنجی نام کاربری در PHP:

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

۸ – اعتبارسنجی امنیت رمز عبور در PHP

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

۹ – اعتبارسنجی کدپستی برای ایران در PHP

با تابع زیر میتوانید از صحیح بودن قالب بندی کد پستی اطمینان حاصل کنید:

۱۰ – ایمن سازی و پاکسازی Query و Data قبل از ارسال به پایگاه داده در PHP

تابع زیر داده های ما را برای جلوگیری از Sql Injection پاکسازی میکند:

و این تابع از حملات XSS و JS و Sql Injection با پاک کردن تگها جلوگیری میکند:

خب همانطور که دیدی اعتبارسنجی فرم ها در php با استفاده از عبارت های با قاعده و توابع از پیش ساخته خود php مثل filter_var بسیار آسان است . سعی کنید حتما و حتما در هر جایی از سایت و پروژه خود که از کاربر از طریق فرم اطلاعاتی را دریافت می کنید اعتبار سنجی های بالا را انجام بدید تا هم اینکه ورودی های عجیب و غریب وارد دیتابیس شما نشود و همچنین جلوی هک شدن را بگیرید . هیچوقت به اعتبار سنجی سمت کلاینت با استفاده از جاواسکریپت اکتفا نکنید چونکه براحتی قابل دور زدن است و حتی در بعضی مرورگر ها با غیرفعال بودن جاواسکریپت ممکن است کدهای شما به درستی کار نکند.

موفق و پیروز باشید

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

دیدگاه کاربران

دیدگاهتان را بنویسید

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

جدیدترین آموزش های آنلاین



دانلود رایگان (هدیه ویژه)

کتاب آموزش زبان برنامه نویسی PHP را دانلود و همین امروز یادگیری را شروع کن و به جمع برنامه نویسان ملحق شو ;)

دانلود رایگان کتاب

افزایش امنیت سایت

مجوزهای ما


logo-samandehi نماد اعتماد الکترونیک

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

دانلود کتاب

عضویت در خبرنامه