مقدمه :
در این مقاله قصد دارم به چگونگی تازه سازی ( Refresh ) یک صفحه والد ( Parent ) توسط یک صفحه فرزند ( Child ) بپردازم.
موضوع این مقاله در حقیقت یک تکنیک می باشد که شما باید با توجه به نیازتان در برنامه های کاربردی خود ، آن را سفارشی سازی نمایید.
در ادامه به تشریح چگونگی تازه سازی یک صفحه والد توسط صفحه فرزند ، با استفاده از امکانات ASP.NET 2 و جاوا اسکریپت می پردازم.
گاهی پیش می آید که شما در برنامه کاربردی تحت وب خود نیاز دارید که برخی اطلاعات را در یک صفحه popup نمایش دهید. فرض کنید کارت خریدی نوشته اید که کاربر با کلیک کردن روی سبد خرید و یا لیست اقلام خریداری شده توسط خود ، جزئیات محصولات انتخاب شده را در یک صفحه popup مشاهده کند. در صفحه popup جدید کاربر می تواند محصول انتخابی خود را از سبد خرید حذف نموده و یا تعداد اقلام را تغییر دهد .
در حالت عادی پس از اینکه کاربر تغییرات خود را در صفحات popup اعمال کرد ، صفحه والد تا زمانی که تازه سازی نشود ، اطلاعات قبل از تغییرات را نشان می دهد . در اینجا نیاز است که همزمان با اعمال تغییرات در صفحه فرزند ، صفحه والد نیز تازه سازی شود.
ادامه مطلب...
مقدمه :
وب سرویس ها می توانند هدف جذابی برای هکرها باشند ، زیرا هر هکر آماتوری می تواند با فراخوانی متناوب و مکرر یک وب سرویس توسط یک حلقه تکرار ، باعث اختلال در کار سرور و حتی از کار افتادن آن شوند.(Denial of Service)
در این میان سایتهایی که به منظور web 2 طراحی شده اند و دارای صفحه شروع با تکنولوژی آژاکس (Ajax) هستند ، در معرض خطر بیشتری می باشند.
به طور مثال سایت PageFlakes را در نظر بگیرید. این سایت می تواند بهترین هدف برای هکرها باشد. وقتی شما برای اولین بار از این سایت دیدن می کنید ، از شما خواسته می شود که صفحه اول را برای خود سفارشی سازی کنید. که این کار با فراخوانی یک وب سرویس با استفاده از تکنولوژی آژاکس انجام می شود و پس از سفارشی سازی صفحه ، تغییرات شما در کوکی مرورگرتان ذخیره می شوند.
اگر شما اجازه ذخیره تغییرات را در کوکی ها ندهید (ویژگی کوکی ها را در مرورگر خود غیر فعال کرده باشید) ، شما با بازدید مکرر و پشت سر هم از صفحه اول سایت باعث فراخوانی مکرر وب سرویس مربوطه شده و باعث آسیب رساندن به سایت مربوطه و سرور آن خواهید شد.
ای عمل توسط چند خط کد می تواند انجام شود که در زیر آن را مشاهده می کنید.
| for (int i = 0; i < 100000; i++) { WebClient client = new WebClient(); client.DownloadString("http://www.pageflakes.com/default.aspx"); } |
با این که روش یاد شده جهت حمله به یک وب سرویس ، بسیار ساده می باشد ولی جالب است بدانید که بسیاری از سایتها نسبت به این آسیب پذیری ایمن نمی باشند. در این مقاله روش جلوگیری از این نوع حملات را مورد بحث قرار خواهیم داد.
ادامه مطلب...
دانلود فایل در نرم افزار های تحت وب به سادگی ایجاد یک لینک توسط HTML می باشد. که کاربران سایت با کلیک کردن روی لینک مورد نظر می توانند نسبت به دانلود اقدام نمایند. ولی در شرایط گوناگون این بهترین راه حل نمی باشد. به عنوان مثال :
هنگامی که فایل دانلودی بسیار حجیم باشد.
هنگامی که مایل نیستید کاربران محل دقیق فیزیکی فایل روی دیسک سخت را ببینند.
هنگامی که برای دانلود فایل شرایط بخصوصی را در نظر گرفته باشید مثلا قبل از اینکه فایل را بتوانند دانلود کنند باید در سایت ثبت نام کرده باشند.
هنگامی که می خواهید اطمینان داشته باشید که کاربران فقط از درون سایت شما بتوانند فایل را دانلود کنند و دیگران نتوانند با دادن لینک مستقیم از خارج از وب سایت شما به فایل دسترسی پیدا کرده و از پهنای باند شما استفاده نمایند.
و دلایل بسیار دیگر.
در این شرایط شما باید امکانی داشته باشید که قبل از داونلود بتوانید وضعیت کاربر را کنترل نمایید .
در این مقاله برای شما راه حل هایی را برای داشتن دانلود سریعتر و خالی از اشکال ارائه خواهم داد.
راه حل های زیر پیشنهاد می شود.
استفاده از متد Response.WriteFile
استریم کردن فایل با استفاده از متد Response.BinaryWrite.
استفاده از Response.TransmitFile
استفاده از یک فیلتر ISAPI
نوشتن یک کنترل Browser سفارشی
ادامه مطلب...
یکی از مشکلاتی که برنامه نویسان وب در موارد خاص همواره با آن روبرو بوده اند بدست آوردن وضوح تصویر (Resolution) صفحه مانیتور کاربر و امکان تغییر آن به مقداری است که مورد نظر ما می باشد.
در DotNet 2005 این عمل به سادگی امکان پذیر می باشد. که من این عمل را در قطعه کد زیر تشریح می نمایم
protected { tempHeight = Srn.Bounds.Width; tempWidth = Srn.Bounds.Height; Page.ClientScript.RegisterStartupScript( tempHeight + void Page_Load(object sender, EventArgs e)Screen Srn = Screen.PrimaryScreen;this.GetType(), "Error", "<script type=\"text/javascript\">alert('" + "Your Current Resolution is = " +" * " + tempWidth + "');</script>");//if you want Automatically Change res.at page load// please uncomment this code.//if (tempHeight == 600)//if the system is 800*600 Res.then change to //{ |
ادامه در ادامه مطلب
ادامه مطلب...
نگاشت URL در ASP.NET 2.0 :
یکی از امکانات جدیدی که در ASP.NET 2.0 معرفی شده است نگاشت URL یا URL Mapping می باشد.
نگاشت URL ، در حقیقت تعیین نام مستعار برای یک URL می باشد . فرض کنید شما صفحه ای با این URL دارید :
| http://www.sample.com/Technology.aspx?CategoryID=1&CategoryName=Csharp&Version=2 |
برای کاربران به خاطر سپردن این URL چندان ساده نمی باشد ، پس شما می توانید یک URL با نام مستعار به صورت زیر تعریف کنید که کاربران با وارد کردن این آدرس به URL واقعی شما دسترسی پیدا کنند .
| http://www.sample.com/Csharp2.aspx |
در ASP.NET 1.x نیز این کار امکان پذیر بود و نیاز به مقداری کد نویسی داشت ولی در ASP.NET 2.0 این کار براحتی امکان پذیر می باشد.
ادامه مطلب...
تبلیغات 