PDA

View Full Version : عدم دسترسی به یک صفحه خاص



سار
دوشنبه 07 مرداد 1387, 12:22 عصر
تو سایتم صفحه ای دارم که میخوام با زدن آدرس اون در Address بار سیستم به اون صفحه نره و فقط با لینک هایی که من به کاربرم میدم به اون صفحه منتقل بشه.
چطور میتونم این مورد رو کنترل کنم؟

naeeme
دوشنبه 07 مرداد 1387, 14:01 عصر
یه راه که به نظر من میاد استفاده از referrer هست. یعنی در page_Load صفحه تون مشخص کنین که اگه referrer اون مربوط به صفحات سایتتون بود، page نمایش داده بشه وگرنه به صفحه خطا یا هر صفحه دیگری که در نظر گرفتین، بره.

goleleila
پنج شنبه 17 مرداد 1387, 11:30 صبح
تو سایتم صفحه ای دارم که میخوام با زدن آدرس اون در Address بار سیستم به اون صفحه نره و فقط با لینک هایی که من به کاربرم میدم به اون صفحه منتقل بشه.
چطور میتونم این مورد رو کنترل کنم؟

بهتره انتهاي لينکهاي ارسالي به صفحه ات يه Querystring بذاري و بعد تو صفحه سايتت اونا رو چک کني اگه querystring مورد نظر اومده بود صفحه ات باز شده در غير اين صورت پيغام خطا بده.براي مثال لينکهات بايد به صورت 1 باشن.
حالا توکد صفحه سايتت به صورت 2 بايد چک کني که لينک ارسالي براي شماست يا نه.ضمناً اگه ميخواي عدد ارساليت لو نره بهتره از متد get براي ارسالش استفاده کني.


1 <a href="default.aspx?test=1234>Click here…</a>


2 if request.querystring("test")="1234" then ....


--------------------------------------------------------------


http://goleleila.ir (http://goleleila.ir)


طرح صلوات تا ظهور مهدي در :


http://goleleila.ir/salavat.html

DotNet_King
پنج شنبه 17 مرداد 1387, 14:34 عصر
بهتره انتهاي لينکهاي ارسالي به صفحه ات يه Querystring بذاري و بعد تو صفحه سايتت اونا رو چک کني اگه querystring مورد نظر اومده بود صفحه ات باز شده در غير اين صورت پيغام خطا بده.براي مثال لينکهات بايد به صورت 1 باشن.
حالا توکد صفحه سايتت به صورت 2 بايد چک کني که لينک ارسالي براي شماست يا نه.ضمناً اگه ميخواي عدد ارساليت لو نره بهتره از متد get براي ارسالش استفاده کني.


1 <a href="default.aspx?test=1234>Click here…</a>


2 if request.querystring("test")="1234" then ....


--------------------------------------------------------------



http://goleleila.ir (http://goleleila.ir)



طرح صلوات تا ظهور مهدي در :




http://goleleila.ir/salavat.html




این روش اگه post باشه یه مشکل بزرگ داره اونهم این که اگه کسی دستی اون آخر لینک رو به url اضافه کنه بازم صفحه باز میشه تا هر زمانی نا محدود !!
من کاری که یه بار کردم این بود که علاوه به اون کوئری که دوستمون گفته بود زمان و تاریخ سرور رو کد می کردم و داخل یه کوئری استرینگ دیگه می زاشتم و طرف سرور چک می کردم که اگه زمانی بیش از مثلا 15 دقیقه گذشته باشه اون لینک رو غیر فعال کنم:لبخندساده:
فک کنم این جوری مشکلت تا حد زیادی رفع می شه !

DotNet_King
پنج شنبه 17 مرداد 1387, 14:41 عصر
دوست عزیز
یه سوالی که برای من پیش اومده اینه که تو صفحات asp.net که runat server شما چه جوری می خواهید از متد get استفاده کنید !!! این مستلزم اینه که شما داخله فرمتون یه فرم دیگه بزارید که متد get داشته باشه!
اکثرا این آدرس ها رو باید به صورت داینامیک ساخت و درون یه کنترل از برنامه مثلا lable که داخل یه فرم با runat سروره قرار داد. دیگه متدی get نمی شه تعریف کرد!! چون فرم داخل فرم که نمی شه تعریف کرد

فقط post می مونه البته اگه همچین کاری میشد کرد که خیلی خوب می شد

milade
جمعه 18 مرداد 1387, 07:33 صبح
سلام
متد get هم میشه که با

request("id")
می شه تقاضا داد تا ایدی رو که مثلا به این صورته گرفت:

www.h.com/xxx.aspx?id=111111111
که بر میگرونه 111111111
در ضمن :

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

DotNet_King
جمعه 18 مرداد 1387, 08:55 صبح
سلام
متد get هم میشه که با

می شه تقاضا داد تا ایدی رو که مثلا به این صورته گرفت:

که بر میگرونه 111111111

بای

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