PDA

View Full Version : این کار من درسته: امنیت کنترل پنلم



parisa_joooon
چهارشنبه 22 شهریور 1391, 21:51 عصر
بچه ها من صفحات کنترل پنلم و به این شکل سطح دسترسیش و تعیین می کنم آیا درسته؟

. تو یک صفحه یک یوزر نیم و پسوورد می خواهم اگه درست بود یه session ادد میشه
. تو صفحه ای که redirect میشه بهش هم تو رویداد page load بررسی میشه با یک if که ایا session ادد شده

ایا درسته؟

meisam12
چهارشنبه 22 شهریور 1391, 22:51 عصر
سلام
من تجربه دقیقی در این زمینه ندارم ولی فکر کنم از Http handler استفاده کنید بهتر باشد.

M.KH-SH
چهارشنبه 22 شهریور 1391, 23:38 عصر
بله روش شما درست هستش بعضی از دوستان از coocki هم استفاده میکنن
ولی بهتر هستش که شما در master page بررسی رو انجام بدین که نیاز نباشه در هر صفحه کد نویسی اضافه داشته باشین و یا در یک کلاس بنویسین و با استفاده از اون کار خودتون رو ادامه بدین

zerocool151
چهارشنبه 22 شهریور 1391, 23:54 عصر
چرا از Authentication ای که خود ASP در اختیارت گذاشنع استفاده نمیکنی؟؟امنیتشم تضمین شدس

fakhravari
پنج شنبه 23 شهریور 1391, 00:04 صبح
چرا از Authentication ای که خود ASP در اختیارت گذاشنع استفاده نمیکنی؟؟امنیتشم تضمین شدس
تضمینی در کار نیست.

fa_afshar
پنج شنبه 23 شهریور 1391, 21:23 عصر
بله این روش کلیتش درسته....
متغیرهایی رو که در سشن میگذارید حتما به صورت رمز شده باشه و Time Out رو نیز حتما کم کنید...
در ضمن حتما پسوردها رو به صورت هش شده نگه داری کنید....

alonemm
جمعه 24 شهریور 1391, 01:52 صبح
باسلام:

در مورد ASP.net Membershipجستجو کنید.
Introduction to Membership (http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx)


در تالار بحث زیاد شده.
موفق باشید.

fakhravari
جمعه 24 شهریور 1391, 01:59 صبح
این پست روی سشن سوال شده اون موارد دیگر مد نظر نیست.

mdt414
جمعه 24 شهریور 1391, 19:21 عصر
به هیچ عنوان این روش امنیت ندارد. فقط از Forms Authentication استفاده کنید. این روش به دلیل استفاده از رمز نگاری های متعدد امنیت بسیار بالایی دارد. در صورت نیاز بگید تا مراحل کامل رو براتون شرح بدم.

fakhravari
جمعه 24 شهریور 1391, 19:48 عصر
دوستان انگار عربی حرف میزنم.
کلا بحث این پست روی سشن کاری به ممبرشیپ نداریم.
اگر در مورد سشن اطلاعاتی دارید بگید.

parisa_joooon
جمعه 24 شهریور 1391, 22:31 عصر
بچه ها تو رو خدا گیجم نکنید
یکی میگه امنیتش بالاست
یکی میگه اصلا امنیت نداره
!!!

در مورد زمان Time Out یه مثال میزنید که چه جوری کمش کنم؟
عبارتی که تو session ادد می کنم رو Hash کنم؟ چه فرقی میکنه وقتی کسی به اون قسمت از کدها دسترسی داره از همون رشته hash شده استفاده میکنه خب

کمکم کنید بچه ها

mdt414
جمعه 24 شهریور 1391, 23:14 عصر
توی web.config اصلی پروژه ات بین تگ های system.web این عبارت رو بنویس :

<authentication mode="Forms">
<forms defaultUrl="~/Default.aspx" loginUrl="~/login.aspx" timeout="3600" slidingExpiration="true" />
</authentication>

بعد مثلاً یک فولدر به نام Administrator اضافه کن به برنامه ات و یک فایل web.config توی اون اجاد کن.
و داخل web.config دقیقاً این عبارت رو بین تگ های system.web قرار بده

<authorization>
<deny users="?"/>
</authorization>
حالا یک صفحه به نام login.aspx توی فولدر اصلی برنامه ات ایجاد کن که توش 2 تا تکست باکس و 1 دکمه داری. توی اون نام کاربری و رمز عبور رو از کاربر می گیری و در رویداد کلیک دکمه بررسی می کنی که آیا این نام کاربری و رمز عبور درست هست یا نه. بعد با استفاده از کد زیر اون رو به صفحه درخواستی می فرستی و دیگه دات نت اون رو مدییت می کنه :

if (txtUsername.Text == "username" && txtPassword.Text == "pass")
{
FormsAuthentication.RedirectFromLoginPage(userid, true);
Response.Redirect("~/Administrator/");
}
اون قسمتی که userid رو به تابع دادم در واقع داره کد کاربر رو به دات نت میدی که ورود به سیستم رو برای اون ایجاد کنه. و از این به بعد به اون فولدر دسترسی پیدا میکنه.
برای خروج از سایت هم کافیه دستور زیر رو اجرا کنی :

FormsAuthentication.SignOut();
Response.Redirect(FormsAuthentication.DefaultUrl);

s.hoseinpoor
جمعه 24 آذر 1391, 10:42 صبح
منکه آخرش نگرفتم سشن امنیت داره یا نه!
اما برای تایم اوت کردن سشن باید در وب کانفیگ بین تک سیستم.وب اینو بزنی:

<sessionState mode="StateServer" timeout ="30" />

saeed31641
جمعه 24 آذر 1391, 11:18 صبح
ّبین دوست عزیز هیچ چیزی امنیتش 100 درصد نیست.حتی سشن.
اگه میخای از سشن استفاده کنی که که روش معمولی هست و همه یا بیشتر افراد استفاده میکنند باید توجه داشته باشی استفاده زیادی از سشن مشکل افرین نباید خیلی از سشن استفاده کنی. ولی روشی که شما استفاده مکین یه روش معمولیه .همه استفاده میکنند.شما سعی کن ورود و خروجتو با سشن چک کنی کسی که وارد میشه بریز تو سشن .ولی برای سطح دسترسی به صفحه ایی یا لینکی. از دیکشنری استفاده کن یه فیلد تو بانک اضافه کن و سطح دسترسی تو بصورت 0 ,1 ذخیره کن بصورت دودویی.بعد این عدد که میخای بخونی دهدهیش کن .بعد هر صفحهای که میری ببین اون عدد تو دیکشنریت هست یا نه اگه بود دسترسی داره نبود غیر مجاز.

blackcats
جمعه 24 آذر 1391, 11:42 صبح
userid چیه در کد بالا؟