تاريخ : جمعه 21 مهر 1396 | 15:38 | نویسنده : بخش سئوی نیلوبلاگ

data-transporter

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

با بلونا همراه باشید تا باهم این روش را بررسی کنیم .

چرا باید از انجام این کار توسط مهاجمان پیشگیری کنیم ؟

تصور کنید شما فرمی برای ثبت نام کاربران خود دارید و در این فرم قبل از ارسال صحت اطلاعات را توسط JavaScript بررسی می کنید.

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

چگونه فرستنده اطلاعات فرم را بررسی کنیم ؟

یک روش بررسی استفاده از Session ها می باشد.

روند انجام کار را ابتدا توضیح می دهم سپس کد های لازم را برای شما قرار خواهم داد.

در این روند ما ابتدا در صفحه فرستنده یک token ایجاد میکنیم و session با همین نام ایجاد می کنیم سپس token را از طریق یک فیلد پنهان در فرم ارسال می کنیم .

در صفحه مقصد وجود این token و برابر بودن آن را با token ارسال شده از فیلد بررسی میکنیم.

با انجام همین دو کار راه نفوذ به فرم از همه صفحات بجز صفحه ای که ما میخواهیم را بسته ایم .

ساخت session و token در صفحه فرستنده با PHP :

همینطور که مشاهده می کنید در session یک token با استفاده از دو تابع uniqid و md5 ساختیم .

یک فیلد پنهان هم ایجاد می کنیم :

<input name="token" type="hidden" value="" />

در مرحله آخر در صفحه مقصد صحت اطلاعات رسیده را بررسی می کنیم:

if( isset($_SESSION['token']) && $_SESSION['token'] == $_POST['token'] ){
کد های این صفحه
}

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

این مطلب را با دوستان خود به اشتراک بگذارید


امتیاز بدهید :

| امتیاز : 0
موضوع : | بازدید : 0
برچسب ها : فرستنده,اطلاعات,