PDA

View Full Version : مشکلات این نوع تشخیص هویت در سایت



hamhik
سه شنبه 07 فروردین 1386, 23:04 عصر
با سلام
من برای تشخیص هویت کاربران سایت از web.config استفاده نکردم و اصلا دستور user.identity.name رو بکار نبردم و تصمیم گرفتم که بیام و یک متغیر سراسری در global application تعریف کنم که مقدار اولیه اش صفرهست حالا اگه username کاربر و pass که از طریق کدنویسی سنجیده می شه بدرستی انجام شد این متغیر سراسری مقدار 1 رو بگیره در غیره این صورت مقدار صفر .
حالا سایت من یه عیب که داره البته از نظر خودم اینه که وقتی کاربر با موفقیت login می شه و به صفحه ی main.aspx وارد می شه چون می خوام اسمش رو تو این صفحه نمایش بده از querystring استفاده کردم و اگه اون متغیر سراسری رو تعریف نکنم یه کاربر که اطلاعات کمی در مورد برنامه نویسی داشته باشه می تونه وارد username هر کاربر بشه حالا اگه به فرض این که ما این متغیر سراسری رو تعریف کرده باشیم و کاربری بخواد وارد یوزر کاربر دیگه ای بشه مقدار متغیر 0 هست و اجازه ی دسترسی دیگه نداره البته به این چیزایی که گفتم اطمینان ندارم می خواستم بدونم با این کار سایتم امنیت داره؟؟؟؟

Alireza_Salehi
سه شنبه 07 فروردین 1386, 23:33 عصر
شما دلیلت برای این که روش های موجود رو که بارها و بارها استفاده شده تست شده و روشهای امن تر کردنش هم موجوده استفاده نکردی!

تقریبا تمام سایتها از روش های استاندارد استفاده می کنند ، که البته در حد نیازشون سفارشی طراحی می کنند و امن هم هست.

اگر این روش شما توسط یک کاربر با اطلاعات مقدماتی برنامه نویسی مورد اعتماد نیست دیگه با هکر های مبتدی ، متوسط ،... که وضعیتش مشخصه!

به نظر من نوآوری و ساخت یک سیستم امنیتی قابل اعتماد کار یک نفر نیست و به تخصص و تجربه زیادی در امنیت شبکه ، پروتکل ها و ... داره.

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

msakbari
سه شنبه 07 فروردین 1386, 23:38 عصر
همیشه بهترین راه ساده ترین راه نیست . راههای خیلی ساده تر و حتی اصولی تر و صد در صد بهتری هم وجود داره .

موفق باشی دوست عزیز.

hamhik
سه شنبه 07 فروردین 1386, 23:48 عصر
اینو بگم که روش من در صورتی که از اون متغیر سراسری استفاده بشه روش خوبیه البته این نظر منه و در صورتی که از اون متغیر تصادفی استفاده نشه هر کاربر می تونه وارد یوزر کاربر دیگه بشه در واقع وقتی کاربری بخواد وارد یوزر من بشه در page_load بررسی می شه که مقدار متغیر سراسری 0 هست یا یک .اگه صفر که بره به صفحه ای که شما مجاز به دسترسی به این صفحه نیستید حالا دیگه هکرا رو نمی دونم که بتونن از این طریق نفوذ کنن یا نه

Alireza_Salehi
چهارشنبه 08 فروردین 1386, 11:10 صبح
در این مقال از MSDN حملات رایج به ASP.NET شرح داده شده ، روش امنیتی مورد نظرتون رو از لحاظ این تهدیدات بررسی کنید:
Building Secure ASP.NET Pages and Controls (http://msdn2.microsoft.com/en-us/library/aa302426.aspx)

این ها رو هم ببینی بد نیست:
Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication (http://msdn2.microsoft.com/en-us/library/aa302415.aspx)
ASP.NET Web Site Security (http://msdn2.microsoft.com/en-us/library/91f66yxt(VS.80).aspx)

البته شاید در هر سایتی بنا به دلایلی روشی متفاوت برای امنیت در نظر گرفته بشه ، این وسط باید دید واقعا این دلایل با روش جدید قابل اعتماد هستند یا نه و آیا این دلایل در روش های استاندارد و رایج مد نظر بوده اند یا نه (بعید می دونم سایت شما شرایطی داشته باشه که نیاز به روش جدیدی باشه) ،

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

hamhik
سه شنبه 14 فروردین 1386, 11:55 صبح
به مشکلات این نوع تشخیص هویت پی بردم در واقع می تونم بگم که این روش از اون روش هایی هست که برای نوشتن کد برای هر قسمت باید روال پیچیده ای رو دنبال کرد و بعد از حل یک قسمت باید قسمت دیگر را با یک روال پیچیده تر دیگر پیاده سازی نمود.که اصلا روش خوبی نیست.