نمایش نتایج 1 تا 20 از 20

نام تاپیک: محل ذخیره Password

  1. #1
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875

    محل ذخیره Password

    برنامه ای نوشته ام که حداکثر 255 یوزر می تونه داشته باشه . روی ویندوز کار می کنه و زیر شبکه است . هر یوزر می تونه رمز خودش رو تغییر بده . من این رمز ها رو hash می کنم و توی یه table ذخیره می کنم که دو فیلد داره : userID,userPassword
    ولی اگه یه کاربر بیاد رمز hash شده ی خودش رو توی رکوردهای یوزرهای دیگه کپی کنه ، رمز خودش جایگزین اون می شه .
    راه حل حفاظت برنامه در این مورد چیه ؟
    ممنون

  2. #2
    کاربر دائمی آواتار joker
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    اصفهان
    سن
    42
    پست
    1,326
    میتونی hash بدست اومده را یکبار هم با نام کاربری کد کنی ... اینطوری هر hash فقط با یک کد کاربری سازگاره

    ولی ....برنامه ای که کاربرش بتونه به دیتابیس بقیه دسترسی داشته باشه که .......

  3. #3
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    روش جالبی بود :) روش دیگه ؟
    راستی ، من از MSSQL استفاده می کنم . برای همین کاربری که admin باشه می تونه به دیتابیس دسترسی داشته باشه . روی خود دیتابیس هم نمی شه رمز گذاشت . بنابراین راهی نمی شناسم که از دسترسی کاربر جلوگیری کنم :)

  4. #4
    چرا اصلا یه یوزر دیگه باید بتونه مقادیر جدول رو دستکاری کنه؟
    Artists use lies to tell the truth while politicians use them to cover the truth up

  5. #5
    سلام
    houtanal درست میگه شما اصلا نباید بزارین کاربران به بان دستزسی مستقیم داشته باشند !

  6. #6
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    من نمی ذارم ! خودش می ره :) وقتی یه کاربر administrator ویندوز باشه ، می تونه به تمام دیتابیس های mssql دسترسی داشته باشه
    راهی برای جلوگیری از دسترسی این کاربر هست ؟

  7. #7
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    چند راه حل وجود داره که یکی از روشهای متداول به این شرح است:
    1- حذف کاربر administrator از لیست کاربران SQL
    2- تعریف یک کلمه عبور با مشخصات "کلمه عبور واقعی"
    3- برای هر یک از کاربران نرم افزارت یک کاربر که میتونه نامش hash شده باشه در SQL ایجاد کن و از اون برای اتصال به SQL استفاده کن
    4- به قول جناب اینپرایز: دستات رو بزار روی دیوار و توکلت به خدا باشه
    ... چه بگویم که غم از دل برود چون تو بیایی

  8. #8
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    1 ) اگه admin ویندوز sql Server رو متوقف کرد و دیتابیس رو جای دیگه attach کرد چی ؟
    2 ) منظورتون رو متوجه نشدم !
    3 ) یعنی user توی sql ? خوب این چه فایده ای داره ؟
    4 ) من هنوز به اون کوچه بن بسته نرسیده ام :)

  9. #9
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    1- در مسائل امنیتی/حفاظتی اولین مسئله امنیت فیزیکی میباشد :: هر کسی قرار نیست به سرور دسترسی داشته باشه
    2- "کلمه عبور واقعی" نیازی به توضیح نداره، مثلا نباید از شماره شناسنامه یا تکرار سال تولد برای کلمه عبور استفاده کرد.
    3- اگر سیستم رو درست پیاده کرده باشی هر کاربری تنها به جداول، ویوها و ... خودش دسترسی داره . با تغییر کلمه عبور در نرم افزار شما کاربر SQL هم تغییر میکنه و موارد متعدد دیگر که حال نوشتنشو ندارم
    4- اگه رسیده التماس دعا داریم
    ... چه بگویم که غم از دل برود چون تو بیایی

  10. #10
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    آقای ربیعی ! برنامه ی من ویندوز اپلیکیشن است و مشتری خودش روی سیستمش نصب می کنه

  11. #11
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    فرقی نمیکنه، برخی از موارد را باید شما در نرم افزار پیاده کنی و بخش دیگر مربوط به کاربر میشود، خب اگر کاربر نیاز دارد امنیت را به درجه بالاتری ارتقاء دهد همین موارد که عرض شد را مستند کنید تا کاربر شما با رعایت آنها به نتیجه خود برسد.
    ... چه بگویم که غم از دل برود چون تو بیایی

  12. #12
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    برادر دل انگیز :) مشکل من با همین کاربر هاست . فرض کن دو کاربر از این برنامه استفاده می کنند . من می خوام هر کدوم نتونن با رمز دیگری وارد بشن یا بتونن اطلاعات را با اسم کاربر دیگه تغییر بدن :)

  13. #13
    با سلام
    به نظر من در این مورد شما، شما اگر از Encode کردن داده ها استفاده کنید خیلی بهینه تر ای Hash کردن انهاست چون شما همون طور که دادهاتون رو Encode می کنید می تونید اونها رو هم برای صحت اعتبار مجددا Decode کنید (منظورم روشی قابل برگشت به داده اصلی که اون روش رو هم فقط شمای برنامه نویس می دونه) .
    والبته در بدترین حالت هم اگه روش شما برای Encode کردن لو بره خود اینکه دیگه قصه نداره با یک روشه دیگه.
    پس هیشه راهی هست. اون هم با این همه دوستانی که تو این فروم واقعا لطفشون رو از کسی دریغ نمی کنن.

  14. #14
    البته این رو هم اضافه کنم که فکرت رو مشغول اینکه پردازش می گیره و اوردر زمانیش مناسب نیست و ... نباشت، چون بحث امنیت در میانه حالا اگه یکم هم از منبع سیستم همچین درست و حسابی کار کشیدی (البته تمام اینها در کسری از ثانیه ست) اشکالی نداره .

  15. #15
    با عرض سلام محمد
    لطفا میتونی یه برنامه کوچک حسابداری رو برام طراحی کنی
    با کمال تشکر

  16. #16
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    شرمنده! اصلا" فرصت ندارم :(

  17. #17
    میتونی hash بدست اومده را یکبار هم با نام کاربری کد کنی ... اینطوری هر hash فقط با یک کد کاربری سازگاره
    مشکل این روش چیه؟
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  18. #18
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    مشکلی نداشت. گفتم شاید روش قوی تری هم وجود داشته باشد!

  19. #19

    نقل قول: محل ذخیره Password

    من می خواستم ببینم چه شکلی میشه فیلد پسورد در sql و توسط خود sql به صورت رمز شده و یا هش شده کرد

  20. #20
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    78

    نقل قول: محل ذخیره Password

    توسط خود SQL رو اطلاعی ندارم . ولی توسط خود #C میشه با این تابع Hash رو بدست آورد .

    public static string GetMD5Hash(string input)
    {
    System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
    bs = x.ComputeHash(bs);
    System.Text.StringBuilder s = new System.Text.StringBuilder();
    foreach (byte b in bs)
    {
    s.Append(b.ToString("x2").ToLower());
    }
    string password = s.ToString();
    return password;
    }


  21. دوشنبه 30 آبان 1390, 17:02 عصر

    دلیل
    لطفا فارسی بنویسید

تاپیک های مشابه

  1. چطور گزارشی درست کنم از یک mdb که دارای password است
    نوشته شده توسط student در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: چهارشنبه 15 فروردین 1386, 09:20 صبح
  2. password برای فولدر در شبکه بدون سرور
    نوشته شده توسط crazyfire در بخش شبکه و Networking‌
    پاسخ: 6
    آخرین پست: جمعه 27 شهریور 1383, 01:06 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •