PDA

View Full Version : سوال: قرار دادن user, pass برای هر کاربر



soniarose
یک شنبه 12 مهر 1388, 14:14 عصر
سلام دوستان
من میخوام در برنامم برای هر کاربر user , pass قرار بدم که برای ورود از کاربر در فرم اول بپرسه لطفا راهنمایی کنید

arsalansalar
یک شنبه 12 مهر 1388, 14:45 عصر
ساده ترين راهش كه امنيت خوبي هم نداره اينكه بيايي 2 تا تكست باكس بگذاري بعد 2 تا فيلد user و pass با يك شمارنده ركورد تعريف كني و كد ي بنويسي كه بياد نام كاربري نوشته شده رو با رمز عبور چك كنه و در صورت يكي بودن اجازه ورود صادر كنه.
اگه كلي تر يا كد بخواهي بايد دقيقا منظورت و بگي

anooshiran
یک شنبه 12 مهر 1388, 14:57 عصر
سلام دوست عزيز

رايج ترين راه اين است كه شما يك table براي اين منظور آماده كنيد و مشخصلات user و password و بقيه المانهايي را كه ناياز داريد در آن تعريف كنيد

soniarose
یک شنبه 12 مهر 1388, 19:11 عصر
دقیقا مثل همین کاری که توی این سایت انجام میدیم هرکاربر برای خودش نام کاربری و رمز عبور تعیین میکنه و بعد از ورود , کاربر فعال نشون داده میشه

sh2007
دوشنبه 13 مهر 1388, 12:56 عصر
دقيقا روشي كه دوست مان گفته فقط براي ورود و خروج يه فيلد ديگه به جدول اضافه بشه كه داراي مقدار true و False باشه كاربر وارد شد اون مقدار به true تغيير كنه و برعكس
وگه همه يوزر ها ترو بودن مي توني نشون بدي گه چقدر كاربر دارن كار مي كنن

soniarose
دوشنبه 13 مهر 1388, 14:34 عصر
سلام میشه یک مثال بزنید

anooshiran
دوشنبه 13 مهر 1388, 14:56 عصر
سلام دوست عزيز

من يك نمونه برايت آماده خواهم كرد ولي قبل از آن مسئله اي است كه بايد گوشزد كنم. شما چطور مي خواهيد اجازه دهيد كه 1 user بتواند از ورود username و password براي بقيه نيز جلوگيري كند.
با ابن خواست شما حال اگر شما چند user داشته باشيد چه اتفاق مي مي افتد.

بياييد فرض كنيم شما دو user داريد . user شماره يك چك باكس را تيك مي كند . حال تكليف user دوم چه ميشود. آيا او هم بايد بدون زدن user و password وارد سيستم شود. آيا فكر مي كنيد كه اين امر صحيح است.

حال فرض كنيم كه جواب شما نه باشد. يعني user دوم الزاما اطلاعات را وارد كند. حال مشكل ديگري پيش مي آيد. چگونه سيستم متوجه بشود كه چه كسي مي خواهد وارد شود.

و سئوال آخري كه از شما ارم. آيا user هاي شما داراي level دسترسي هستند. و آيا شما گروه user هم داريد.

اگر به سئوالات من درست پاسخ دهيد بهتر مي توانم كمكتان كنم

soniarose
دوشنبه 13 مهر 1388, 16:30 عصر
سلام دوست عزیز
هیچ سطحی برای کاربران وجود ندارد و در هر زمان یک کاربر وارد سیستم میشود . من فقط میخواهم کاربرانی که دارای ueser و pass هستند اجازه ورود داشته باشند ولی با توجه به توضیحات شما این روش امنیت ندارد پس من فکر میکنم که اگر یک userو pass در ابتدای برنامه برای ورود قرار داده شود وتنها کسی میتواند وارد برنامه شود که انها را بداند و در داخل برنامه جایی برای تغییر انها باشد در صورتی که فرد user pass قبلی را بداند تقریبا مثل ورود به ویندوز ممنون

anooshiran
دوشنبه 13 مهر 1388, 16:37 عصر
سلام دوست عزيز

من با همين مشخصات برات يك پروژه درست مي كنم ميگذارم تو همين topic

mohammad33
دوشنبه 13 مهر 1388, 16:52 عصر
يه سوال ديگه چطور فايل ديتابيس رو تبديل كنيم كه كسي به جدول ها دسترسي نداشته باشه.؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

mohammad33
دوشنبه 13 مهر 1388, 16:56 عصر
من يه برنامه نوشتم كه برالي كاربرها رمز تعريف ميشه حالا چطور ديتا بيس رو غير قابل خوندن كنم تا به رمز ها دسترسي نباشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

saleh82
دوشنبه 13 مهر 1388, 18:32 عصر
سلام anooshiran عزیز
فکر کنم اگر اون کدی که در تایپیک کمک برای رفع خطا در فرمlogin کاربران قراردادم مشکلش حل بشه بتونه کمکمون کنه

mgh64120
دوشنبه 13 مهر 1388, 18:48 عصر
بهتره ديتاتايپ فيلد رمز كاربر ها در جدولت رو Binary قرار بدي تا كسي نتونه بهش دسترسي داشته باشه.
خود SqlServer همين كار روكرده

mohammad_king62
دوشنبه 13 مهر 1388, 22:29 عصر
من يه برنامه نوشتم كه برالي كاربرها رمز تعريف ميشه حالا چطور ديتا بيس رو غير قابل خوندن كنم تا به رمز ها دسترسي نباشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

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

mortezamhd
سه شنبه 14 مهر 1388, 10:09 صبح
ساده ترين راهش كه امنيت خوبي هم نداره اينكه بيايي 2 تا تكست باكس بگذاري بعد 2 تا فيلد user و pass با يك شمارنده ركورد تعريف كني و كد ي بنويسي كه بياد نام كاربري نوشته شده رو با رمز عبور چك كنه و در صورت يكي بودن اجازه ورود صادر كنه.
اگه كلي تر يا كد بخواهي بايد دقيقا منظورت و بگي
میشه بگی چرا امنیت خوبی نداره ؟ و یک روشی که امنیتش بالااست رو بگی ؟

mortezamhd
سه شنبه 14 مهر 1388, 10:24 صبح
من يه برنامه نوشتم كه برالي كاربرها رمز تعريف ميشه حالا چطور ديتا بيس رو غير قابل خوندن كنم تا به رمز ها دسترسي نباشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
در اکسس میتونی inputmax=Password کنی تا تیبل که نشون داده شد پسوردا خونده نشه ولییییییی اگه design کنه میتونه max رو تغییر بده!!!!!!!!!!

arsalansalar
سه شنبه 14 مهر 1388, 11:28 صبح
میشه بگی چرا امنیت خوبی نداره ؟ و یک روشی که امنیتش بالااست رو بگی ؟
چون اگه يك نفر به بانكت دسترسي پيدا كنه به راحتي ميتونه نام كاربري و رمز عبورتو ببينه.
يكي از ساده ترين راهها براي داشتن امنيت اينكه:1-رو بانكت پسورد بگذاري-2-username و password و با الگوريتم هاي نظير hash يا الگوريتم هاي كه خودت مي سازي incode كني و سپس هربار كه كاربر لاگين كرد اطلاعات و dicode كني و با مقادير داخل بانك يكسان سازي كني.
3-راه سوم هم ميگيم كه فقط گفته باشم چون خاصيت زيادي نداره:لبخند:.اگه از اكسس استفاده مي كني table ي كه توش username و password هستو hidden كن.
موفق باشي.

m0riiii
جمعه 17 مهر 1388, 23:35 عصر
دوستان عزیز پس این برنامه که دوستمون قرار بود بزاره کجاس ؟ :ناراحت: :اشتباه:

nokhodsiah2001
شنبه 18 مهر 1388, 08:43 صبح
سلام

دوست عزیز soniarose (http://barnamenevis.org/forum/member.php?u=76292) خود VS فرمی با این خاصیت داره با نام LoginForm میتونی از اون استفاده کنی و همینطور که تمامی اساتید اشاره کردن بستگی به نوع و سطح امنیت مورد نیاز شما داره اگر امنیت زیادی مورد نیازتون نیست تو پایگاه داده یک جدول درست میکنید و مشخصات کاربران رو اونجا میریزین اگر هم که امنیت مهم هست به سه صورت عمده و صدها مدل ابتکاری میتونی این کار رو انجام بدی

1- یک راه ، رمز کردن نام کاربری و کلمه عبور و ثبت اون تو پایگاه داده و رمز گشایی هنگام ورود به برنامه
2- رمز کردن نام کاربری و کلمه عبور و ثبت اون تو رجیستری
3- استفاده از یک فایل قفل شده با فرمتی غیر معمول و قرار دادن اطلاعات داخل آن

و راههایی ابتکاری از ادقام این سه روش و راه های من درآوردی

ati_shl
شنبه 18 مهر 1388, 15:55 عصر
این روش اولی که گفتید" رمزگشایی هنگام ورود به برنامه " با #C و Sql server 2005 چطوری باید کدشو نوشت من هر جوری می نویسم یا اصلاً نمیره تو برنامه یا هم می تونن برن.

nokhodsiah2001
شنبه 18 مهر 1388, 16:39 عصر
سلام

ببینید دوست عزیز باید با استفاده از یکی از متدهای رمز کردن اطلاعات(که در دو تابع مثلاً coder , decoder ذخیره شده ) نام کاربری و کلمه عبور را کد کنید و در پایگاه داده ثبت کنید بعد هنگام باز شدن شدن برنامه اطلاعات را از پایگاه داده فراخوانی کنید و با استفاده از همان توابع که ساختید رمزگشایی کرده و با اطلاعات ورودی کاربر مقایسه کنید " البته من کلی توضیح دادم" این موضوع نیاز به یک ساختار و برنامه ریزی خوب و کامل و تمیزه تا " مو " لای درزش نره

موفق باشی