PDA

View Full Version : مشکل ایجاد شده در استفاده از qeurystring



bbc_sh
دوشنبه 24 تیر 1387, 17:48 عصر
سلام دوستان
من از querystring برای پاس دادن مقادیر بین صفحات استفاده کردم.مثلا یه محصول دارم که id اون فرستاده میشه به یه صفحه دیگه که تو اون صفحه جزئیات رو نمایش میده.حالا اگه من مستقیما روی صفحه جزئیات run کنم.جزئیات رو نمیبینم و صفحه خالیه.آیا من جایی اشتباه کردم؟

milade
دوشنبه 24 تیر 1387, 18:02 عصر
خوب این طبیعیه
مثلا فکر کنید صفحه باید این طوری باشه


9=page2.aspx?id

حالا اگه کاربر id رو پاک کنه چی؟
معلومه با ارور هم روبه رو هست(در شرایط پیش بینی نشده)
برای جلو گیری می تونید این طور عمل کنید(در رویداد لود صفحه)


if request("id")=""then
response.Redirect("~/page2.aspx?id=1")
end if

خوب اگه کاربر id رو مثلاx وارد کرد چی
برای این کار بنویس

if
IsNumeric(request("id"))then
'کد نمایش کالا
else
'نمایش خطا
end if

merlin_vista
دوشنبه 24 تیر 1387, 18:22 عصر
از Try - Catch هم ميتوني استفاده كني

bbc_sh
سه شنبه 25 تیر 1387, 14:26 عصر
نقل قول:
if request("id")=""then
response.Redirect("~/page2.aspx?id=1")
end if



if
IsNumeric(request("id"))then
'کد نمایش کالا
else
'نمایش خطا
end if منظورتون از کد نمایش کالا اینجا چیه؟ همچنین~/page2.aspx?id=1 چرا بره به همچین صفحه ای

milade
سه شنبه 25 تیر 1387, 15:04 عصر
نگاه کن مثلا یه هکر id رو به جای عدد حرف وارد کنه
که ما چک می کنیم
IsNumeric(request("id"))then
کارش درسته بره برای نمایش(در این قسمت کد نمایش کالا رو بگذارید )
else
ای نامرد می خوای سایت منو هک کنی(یه پیام خطا نشون بده)
end if

bbc_sh
سه شنبه 25 تیر 1387, 15:16 عصر
حالا دوتا سوال:
-اول اینکه کد نمایش کالایی که از صفحه قبل میاد چه طوری میاد اینجا قرار میگیره؟
-دوم اینکه من برای یه سایت استارترکیت querystring توی toolbar رو پاک کردم و اینتر زدم ولی باز هم همون صفحه اومد(بدون تغییر)ولی برای سایت خودم آیدی رو که پاک میکنم دیگه چیزی نمیبینم.میخوام بدونم دقیقا موقع استفاده از querystring توی کدبیهایند چه کدهایی باید بنویسم؟

milade
سه شنبه 25 تیر 1387, 15:49 عصر
سلام
نگاه کن querystring یه روش غیر تضمینی انتقال اطلاعاته که امنیت نداره
ما در صفحا اول مثلا مقدار یه تکست باکس رو به querystring نسبت می دیم

"page2?id=1"
خوب حالا ما ایدی رو پاس دادیم به صفحه 2
در صفحه دو درخواست دریافت می دیم
request("Id")=xxx
الان ما اطلاعات رو توی متغیر xxx ریختیم دیگه هر جوری بخوایم استفاده می کنیم
موفق باشی