PDA

View Full Version : سوال: referer در فرم (امنیت در ارسال)



tehro0n
پنج شنبه 09 دی 1389, 00:54 صبح
من می خوام اطلاعات کاربر رو ثبت کنم. برای این کار فرمی رو طراحی می کنیم و در قسمت action="edit.php آدرس کدهای برای ذخیره اطلاعات را می دهیم
حالا نکته اینجاس که من می خوام آدرس لینک دهنده به این صفحه را نیز مورد بررسی قرار دهم. پس از دستور referer نیز در کدهام استفاده می کنم.. منتها مشکل اینجاست که وقتی این فرم ارسال میشه در واقع آدرس سایت همین فرم که طراحی کردم ارسال میشه و ..
برای حل این موضوع action="edit.php?s=$_ref قرار دادم و از آن طرف هم

if(isset($_GET['s']) and preg_match("/^http:\/\//", $_GET['s']) and $_ref == 'form.site.com') {
$_site = parse_url($_GET['s'], PHP_URL_HOST);
} elseif(!empty($_SERVER['HTTP_REFERER'])){
$_ref = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
} else {
header("location: http://{$_support}");
}

آیا این کار من درسته؟ اگه کاربر مخربی بخواهد می تونه کاری کنه که آدرس سایتی که می خواهد در $_site ذخیره شود؟
نکته: آدرس سایت form.site.com همان آدرس فرم ثبت اطلاعات می باشد.