PDA

View Full Version : چک کردن درخواست ها



hsl_hsv
دوشنبه 29 خرداد 1391, 06:32 صبح
چطور میشه هر درخواستی که به سمت یک فایل php ارسال میشه رو چک کرد دید از روی همان هاست ارسال شده یا نه؟

hsl_hsv
چهارشنبه 31 خرداد 1391, 00:29 صبح
اساتید کجا هستند؟

djsaeedkhan
چهارشنبه 31 خرداد 1391, 14:16 عصر
سلام
من در حد تست این کارو کردم و می تونید از چیزی به سام $_SERVER استفاده کنید که شی های HTTP_REFERER داره. که نشون میده از چه صفحه ای اومده. به عبارتی صفحه قبل رو نشون میده. سرچ کنی بهش میرسی
البته می تونی از سشن هم استفاده کنی. به این صورت که در هر صفحه سشنی رو مقدار دهی کنی. در صفحه ببینی از کدوم صفحه اومدی و اسمشو با سشن مقایسه کنی. اگر برابر ببود یعنی از همون صفحه اومده.
البته این روش ها خیلی هم امن نیست. معمولا اینا بیشتر تکمیلی هستن.یعنی کمک می کنن تا امنیت بیشتر باشه

hsl_hsv
پنج شنبه 01 تیر 1391, 04:03 صبح
خوب من میخام یکی رو لوکال هاست یا هاست آنلاین خودش برنامه منو با تغییرات اجرا نکنه و با فایل های php من کار کنن چون همون جوابی که فایل های php من به کلاینت هام میدن اونم میتونه بگیره!

djsaeedkhan
پنج شنبه 01 تیر 1391, 08:07 صبح
خوب من میخام یکی رو لوکال هاست یا هاست آنلاین خودش برنامه منو با تغییرات اجرا نکنه و با فایل های php من کار کنن چون همون جوابی که فایل های php من به کلاینت هام میدن اونم میتونه بگیره!
خوب اگر شما سورس رو دست کسی بدی که نمی تونی بگی ازش استفاده نکنه یا نه. در ضمن شما باید از روش های امن دیگه هم استفاده کنید. مثلا اگر فرمتون حیاتی هست و مهمه که از کجا استفاده می کنید. می تونید از captcha استفاده کنید که امن ترش می کنه و همچنین می تونید در هنگام ایجاد فرم یه کد خاصی رو ایجاد کنید و همزمان در دیتابیس هم ذخیره کنید و بهش تاریخ بدید. اگر فرم ارسال شده حداکثر 5دقیقه بعد از درخواست فرم بود جواب داده بشه (البته این روش خیلی درست نیست)
همش بستگی به این داره که بخاط امنیت چقدر سرعت رو بیارید پایین

asonline
پنج شنبه 01 تیر 1391, 11:38 صبح
میشه یه متغیر نشست $_SESSION برای همه صفحاتت تعریف کنی مانند مثال زیر:


$_SESSION['p'] = 1;

و مقدارش رو هر چی می خوای بزاری وقتی کاربر در خواست رو به سمت فایل پی اچ پی فرستاد در ابتدا چک کنی که آیا متغیر نشست تنظیم شده است یا نه و اگر تنظیم شده بود کاری رو که باید انجام بشه رو انجام بده مانند مثال زیر:


if(isset($_SESSION['p']))
{
// کاری که می خوای انجامش بده
}

djsaeedkhan
پنج شنبه 01 تیر 1391, 13:35 عصر
میشه یه متغیر نشست $_SESSION برای همه صفحاتت تعریف کنی مانند مثال زیر:


$_SESSION['p'] = 1;

و مقدارش رو هر چی می خوای بزاری وقتی کاربر در خواست رو به سمت فایل پی اچ پی فرستاد در ابتدا چک کنی که آیا متغیر نشست تنظیم شده است یا نه و اگر تنظیم شده بود کاری رو که باید انجام بشه رو انجام بده مانند مثال زیر:


if(isset($_SESSION['p']))
{
// کاری که می خوای انجامش بده
}

روش شما خوب هست ولی امن نیست. بالاخره ممکنه ربات هایی باشن که بتونن با این روش شما باز هم مشکل ایجاد کنن. چون شما داری یبار یه سشن می سازی و همش از همون استفاده می کنی.و از هر جایی به جایی بری تغییری در محتوا نمیکنه