PDA

View Full Version : پیدا کردن آدرس page مبدا



SAMARE
شنبه 11 اردیبهشت 1389, 15:33 عصر
سلام دوستان

من یک صفحه دارم (بنام Attach.aspx)که چند صفحه دیگه پروژه با اون در ارتباط هستند
میخوام بدونم چطور بفهمم که از کدوم صفحه وارد صفحه Attach.aspx شدم تا با فشردن دکمه ای که درون صفحه Attach.aspx وجود داره به ادرس مبدا برگرده؟؟؟؟

البته بجز استفاده از session و همچنین فرستادن آی دی به url

daffy_duck376
شنبه 11 اردیبهشت 1389, 15:39 عصر
استفاده از انتفال مقادیر بین صفحات از طریق دستور server.transfer

maxpayn2
شنبه 11 اردیبهشت 1389, 15:41 عصر
httpreferrer

SAMARE
شنبه 11 اردیبهشت 1389, 16:13 عصر
دوستان عزيز با تشكر از پاسخ گويي تون
ولي مشه بيشتر توضيح بديد و حتي الامكان يه مثال ذكر كنيد

بازم مرسي...

Peyman.Gh
شنبه 11 اردیبهشت 1389, 16:22 عصر
بنظرم استفاده از QueryString مناسب میباشد.
در هر صفحه:
string url = "Attach.aspx?" + "page=" + System.IO.Path.GetFileName(Request.Url.LocalPath);
Response.Redirect(url);
و در صفحه Attach.aspx :

protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect(Request.QueryString["page"]);
}موفق باشید.

SAMARE
شنبه 11 اردیبهشت 1389, 16:28 عصر
با استفاده از QueryString.
در هر صفحه:
string url = "Attach.aspx?" + "page=" + "Your_Page.aspx";
Response.Redirect(url);و در صفحه Attach.aspx :

protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect(Request.QueryString["page"]);
}موفق باشید.
دوست عزيز تو پست اول گفتم كه بجز ارسال آي دي به url

Peyman.Gh
شنبه 11 اردیبهشت 1389, 16:35 عصر
دوست عزيز تو پست اول گفتم كه بجز ارسال آي دي به url

چرا از QueryString استفاده نمیکنید ؟!

IFA_USER
شنبه 11 اردیبهشت 1389, 17:21 عصر
به نام خدا
سلام

جاوا اسكريپت


window.opener.document.location.href


اميدوارم كمك كنه

reza.ziyaee
شنبه 11 اردیبهشت 1389, 18:57 عصر
سلام دوست عزیز
از دستور زیر استفاده کن .

Request.UrlReferrer.AbsolutePath

Peyman.Gh
شنبه 11 اردیبهشت 1389, 19:03 عصر
سلام دوست عزیز
از دستور زیر استفاده کن .

Request.UrlReferrer.AbsolutePath

به چه نحوی میشه از این دستور استفاده کرد ؟!

SAMARE
یک شنبه 12 اردیبهشت 1389, 09:50 صبح
چرا از QueryString استفاده نمیکنید ؟!
ببينيد دوست عزيز من نميخوام از طريق فرستادن چيزي به url‌ صفحه بعد و گرفتن اون از طريق QueryString ‌عمل كنم

ببينيد من سه آي دي از طريق url‌ به صفحه مقصد ميفرستم اگه بخوام آي دي يا متغير چهارمي ارسال كنم url من خيلي طولاني ميشه بهمين خاطر هست كه نميخوام از طريق querystring‌ عمل كنم اگه روش بهتري دوستان مد نظرشون هست كه url‌ من طولاني نشه ممنون ميشم مطرح كنند!!!

SAMARE
یک شنبه 12 اردیبهشت 1389, 09:51 صبح
سلام دوست عزیز
از دستور زیر استفاده کن .

Request.UrlReferrer.AbsolutePath
دوستان عزيز ممنون ميشم روش هايي كه پيشنهاد ميكنيد در موردش توضيح هم بديد

naeeme
یک شنبه 12 اردیبهشت 1389, 10:55 صبح
همونطور که دوستان گفتن شما می تونید از UrlReferrer استفاده کنید که Request.UrlReferrer.AbsolutePath دقیقا آدرس صفحه ای که کاربر از ان صفحه به صفحه فعلی شما فرستاده شده رو به شما میده اما مشکل اینجاست که این روش غیرقابل اعتماد هست.
Request.UrlReferrer.AbsolutePath یک رشته برمی گردونه.
شما نه از session و نه از querstring نمی خواید استفاده کنید. جز این 3 روش، روش دیگری وجود نداره. اما از نظر من امنترینش querstring هست که دلیل شما واقعا دلیل مناسبی برای عدم استفاده نیست. خود من url رو طولانی می کنم تا کسی حوصله بازی کردن با اون رو نداشته باشه یا در صورت دستکاری شدن، با چند کلید بتونم دستکاری شدن اون رو متوجه بشم.

SAMARE
یک شنبه 12 اردیبهشت 1389, 11:54 صبح
همونطور که دوستان گفتن شما می تونید از UrlReferrer استفاده کنید که Request.UrlReferrer.AbsolutePath دقیقا آدرس صفحه ای که کاربر از ان صفحه به صفحه فعلی شما فرستاده شده رو به شما میده اما مشکل اینجاست که این روش غیرقابل اعتماد هست.
Request.UrlReferrer.AbsolutePath یک رشته برمی گردونه.
شما نه از session و نه از querstring نمی خواید استفاده کنید. جز این 3 روش، روش دیگری وجود نداره. اما از نظر من امنترینش querstring هست که دلیل شما واقعا دلیل مناسبی برای عدم استفاده نیست. خود من url رو طولانی می کنم تا کسی حوصله بازی کردن با اون رو نداشته باشه یا در صورت دستکاری شدن، با چند کلید بتونم دستکاری شدن اون رو متوجه بشم.
دوست عزيز ممنون ميشم روش تون رو براي تشخيص دستكاري شدن url توضيح بديد!!!

naeeme
یک شنبه 12 اردیبهشت 1389, 14:03 عصر
دوست عزيز ممنون ميشم روش تون رو براي تشخيص دستكاري شدن url توضيح بديد!!!
بستگی داره چی کار بخوام انجام بدم و امنیتش چقدر برا مهم بشه.
مثلا یکی از کارهایی که برای امنیت پایین انجام میدم این URL پایین هست:



?id=1438&task=sh&ck=16


من اینجا نخواستم که id رو از کاربر پنهان کنم اما برای اینکه همینجوری نزنه بقیه صفحات رو ببینه، جمع ارقام id رو در متغیر ck قرار دادم. اینجوری اعتبار این url رو با یک عبارت ریاضی ساده میسنجم و در صورت درست بودن، اجازه میدم کاربرم صفحه رو ببینه.

این روش برای آزار دادن کاربر کنجکاوه! خوب یه ذره باهوش باشن قضیه رو می فهمن.

روش کد و دیکد کردن رو هم که باهاش آشنایی دارید اما من برخلاف بسیاری که فقط عبارت کلید رو دیکد می کنن، عبارت مثلا id=1438&task=sh&ck=16 دیکد می کنم که اگر زمانی روش کد کردنم لو رفت، باز هم بتونم url رو تعیین صحت کنم.

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

reza.ziyaee
یک شنبه 12 اردیبهشت 1389, 20:58 عصر
سلام دوست عزیز .

من که دستور رو نوشتم . شما اگر همون دستور رو استفاده می کردید کاملا متوجا می شدید روش خاصی نداره که با مقدار دستوری که معرفی کردم را داخل یک متغیر می ریزید و از بعد از انجام پردازش های لازم به اون صفحه Redirect می کنید فقط همین . تنها نکته ی باقی مونده این هست که برای بار اول هیچ ارجا دهنده ایی نیست در نتیجه مقدار برابر NULL هست همین . با این وجود دوستمون هم توضیح دادند .


همونطور که دوستان گفتن شما می تونید از UrlReferrer استفاده کنید که Request.UrlReferrer.AbsolutePath دقیقا آدرس صفحه ای که کاربر از ان صفحه به صفحه فعلی شما فرستاده شده رو به شما میده اما مشکل اینجاست که این روش غیرقابل اعتماد هست.
Request.UrlReferrer.AbsolutePath یک رشته برمی گردونه.


چرا غیر قابل اعتماد هست ؟ :متفکر: