PDA

View Full Version : جلوگیری از اجرای Application در ASP.NET



amin_alexi
دوشنبه 02 دی 1387, 15:52 عصر
سلام
من اگه بخوام با چک کردن یک شرط مانع اجرای Application بشم باید چه کار کنم !
من می خوام این کار رو انجام بدم


protected void Application_Start(object sender, EventArgs e)
{
if (true) Application.!!!!
}
می خوام ببینم میشه دستوری نوشت که مانع اجرای Application بشه !
هدفم اینه که با چک کردن یک شرطی در Application_Start نزارم Application اجرا بشه !؟
برای جلو گیری از Copy غیر مجاز برنامه !! :لبخند:

kiosksoft
دوشنبه 02 دی 1387, 16:05 عصر
سه حالت وجود داره :
1- برنامه رو هدایت کنید به یه صفحه که وجود نداره.
2- برنامه رو هدایت کنید به صفحه ای که یک پیغام به کاربر نشون بده.
3- اگه شرط شما false بود script مربوط به بستن پنجره رو اجرا کنید. (نحوه اجرای اسکریت در همین سایت هست)(window.close())

حالت های دیگه رو دوستان ارائه بدن...

amin_alexi
دوشنبه 02 دی 1387, 16:16 عصر
سه حالت وجود داره :
1- برنامه رو هدایت کنید به یه صفحه که وجود نداره.
2- برنامه رو هدایت کنید به صفحه ای که یک پیغام به کاربر نشون بده.
3- اگه شرط شما false بود script مربوط به بستن پنجره رو اجرا کنید. (نحوه اجرای اسکریت در همین سایت هست)(window.close())
ممنون
ولی آیا راههایی غیر از این راهها وجود داره !?

mehdi.mousavi
دوشنبه 02 دی 1387, 16:39 عصر
ممنون ولی آیا راههایی غیر از این راهها وجود داره !?

بله. اینکارو کنید:


throw new HttpException(403, "Shoma pool nadadid!");در واقع با اینکار، Error 403 یا همون HTTP Forbidden رو به Client ارسال میکنید!

amin_alexi
سه شنبه 03 دی 1387, 09:03 صبح
کد:
throw new HttpException(403, "Shoma pool nadadid!");
در واقع با اینکار، Error 403 یا همون HTTP Forbidden رو به Client ارسال میکنید!من این کار رو کردم در بار اول جواب داد ... ولی وقتی F5 میزنم میره به صفحه مورد نظر ! این جواب نمیده !!!
(من این کار رو تو کامپیوتر Local , توی Host تست کردم ... )
یعنی راه دیگه ای به غیر از این موارد نداره !!!
به عنوان مثال در برنامه های Win مثلا در دلفی می نویسیم Application.Terminate میخوام بدونم یک همچین عبارتی وجود داره !!
یا این کار اصلا شدنی هست !؟

mahdi_farhani
سه شنبه 03 دی 1387, 14:26 عصر
بزارش تو BeginRequest که با هر درخواستی قفل شما چک بشه
حسنی که داره برای هر کاری اول قفل شما چک میشه
ولی سربار سرور زیاد میشه (البته بستگی به نحوه کد نویسیت داره)

Saber_Fatholahi
سه شنبه 03 دی 1387, 16:11 عصر
کاری دیگه به نظرم اینه در صورت درست بودن شرطت توی Start بنویسی return; فکر کنم جواب بده من تست نکردم

SabaSabouhi
سه شنبه 03 دی 1387, 16:49 عصر
با سلام
تو Application_Start پس از کنترل وجود قفل و صحت آن، اگر تمام مجوزها بر قرار بودن یک مقدار رو توی Application Items بنویس:



Application["ValidApplication"] = applicationIsValid;


که در این‌جا applicationIsValid متغیری است که در صورت مجاز بودن اجرا مقدار True و در غیر این صورت مقدار False را دارا می‌باشد.

حالا در تمام برنامه کافیه این مقدار رو کنترل کنی. اگر False بود تصمیم بگیری که چه‌کاری می‌خواهی انجام بدی. ( مثل ایجاد خطای 403 که دوستمون توضیح دادن )

صبا صبوحی