View Full Version : ایجاد و تغییر پسورد
shahzadeh_jadid
چهارشنبه 28 مرداد 1388, 08:51 صبح
سلام
من میخوام روی پروژه ام پسورد بذارم یعنی هنگام ورود از کاربر یه پسورد بگیره تا کاربر بتونه از برنامه استفاده کنه.
در ضمن کاربر بتونه این پسورد رو در محیط برنامه عوض کنه.
لطفا بگین چطوری کدشو بنویسم؟
من خودم نظرم اینه که از بانک اطلاعاتی استفاده کنم ...:متفکر:
powerboy2988
چهارشنبه 28 مرداد 1388, 09:16 صبح
شما مي توني تو ديتابيست يك جدول درست كني به اسم user و بعدش توش فيلد هاي username و password و ... قرار بدي..
بعدش تو پروژت يك فرم بزار براي ايجاد كاربري كه username و password داشته باشه..
بعدش اين اطلاعات رو بزار تو همون جدولت..
موقع اجراي برنامه كه مي خواي از كاربر پسورد بگيري .. مي ري اطلاعاتشو از جدولت مي خوني كه ببيني معتبر هست اطلاعاتش يا نه..
براي ويرايشش هم يك فرم درست كن كه طرف خواست پسوردشو عوش كنه پسورد قديميشو ازش بگيره و پسورد جديد رو وارد كنه و در صورتي اين تغيير پسوردش ثبت شه كه پسورد قديميشو درست وارد كرده باشه.
HjSoft
چهارشنبه 28 مرداد 1388, 09:48 صبح
ذخيره در فايل هم خوبه ، به شرطي كه EnCode بشه .
kuh_nur
چهارشنبه 28 مرداد 1388, 09:49 صبح
شما مي توني تو ديتابيست يك جدول درست كني به اسم user و بعدش توش فيلد هاي username و password و ... قرار بدي..
بعدش تو پروژت يك فرم بزار براي ايجاد كاربري كه username و password داشته باشه..
بعدش اين اطلاعات رو بزار تو همون جدولت..
موقع اجراي برنامه كه مي خواي از كاربر پسورد بگيري .. مي ري اطلاعاتشو از جدولت مي خوني كه ببيني معتبر هست اطلاعاتش يا نه..
براي ويرايشش هم يك فرم درست كن كه طرف خواست پسوردشو عوش كنه پسورد قديميشو ازش بگيره و پسورد جديد رو وارد كنه و در صورتي اين تغيير پسوردش ثبت شه كه پسورد قديميشو درست وارد كرده باشه.
دوست عزيز سلام
البته اين نكته رو فراموش نكن كه
بايد تمام پسورد ها رو قبل از ذخيره در بانك اطلاعاتي بصورت كد در بيارين تا از نفوذ به برنامه جلوگيري بشه.
الگوريتم هاي زيادي در سايت براي كد كردن متون موجود هست و شما مي تونين با كمي دستكاري در اونها داراي يك الگوريتم منحصر بفرد بشين.
راستي بايد قبل از مقايسه مقادير ورودي كاربر با مقادير موجود در جدول ، پسورد ها رو ديكد كني
powerboy2988
چهارشنبه 28 مرداد 1388, 10:07 صبح
دوست عزيز سلام
البته اين نكته رو فراموش نكن كه
بايد تمام پسورد ها رو قبل از ذخيره در بانك اطلاعاتي بصورت كد در بيارين تا از نفوذ به برنامه جلوگيري بشه.
الگوريتم هاي زيادي در سايت براي كد كردن متون موجود هست و شما مي تونين با كمي دستكاري در اونها داراي يك الگوريتم منحصر بفرد بشين.
راستي بايد قبل از مقايسه مقادير ورودي كاربر با مقادير موجود در جدول ، پسورد ها رو ديكد كني
برادر من. قدم به قدم
حرف هاي همه شما ها درسته.. اما اين بنده خدا اوله كاره.. بزاريد اين كار رو انجام بده بعد به اين كد كردن ها هم مي رسه
powerboy2988
چهارشنبه 28 مرداد 1388, 10:10 صبح
ذخيره در فايل هم خوبه ، به شرطي كه EnCode بشه .
آره.. اما ديتابيس امنيتش بيشتره ...
در ضمن شما كه داري به ديتابيس كار مي كني .. چرا مي خواي تو فايل ذخيره كني؟؟؟؟
يكي مياد اذيت مي كنه و راحت فايلتو پاك مي كنه...
اما با ديتابيست نمي تونه به راحتي كار كنه
shahzadeh_jadid
چهارشنبه 28 مرداد 1388, 13:54 عصر
ذخيره در فايل هم خوبه ، به شرطي كه EnCode بشه .
اگه اینطوری بشه خیلی خوبه فقط باید هم فایل رو به قول شما endoce و هم اونو مخفی کرد و فقط هنگامی که پروژه اجرا میشه اونو نمایش بده
بعد میخوام هنگامی که کاربر واسه اولین بار برنامه رو در ویندوز اجرا میکنه به طور دلخواه یه پسورد برای برنامه تعیین کنه "یعنی نمیخوام اولین password برنامه از قبل تعیین شده باشه".
من با اصلا فایلها کار نکردم
اگه کسی کمکم کنه ممنون میشم.
mmssoft
چهارشنبه 28 مرداد 1388, 17:51 عصر
میتونید از توابع SaveSetting و GetSetting استفاده کنید ولی باید پسوردها رو به صورت کدشده در رجیستری ذخیره کنید.
shahzadeh_jadid
چهارشنبه 28 مرداد 1388, 21:06 عصر
میتونید از توابع SaveSetting و GetSetting استفاده کنید ولی باید پسوردها رو به صورت کدشده در رجیستری ذخیره کنید.
والا فعلا که من به هیچ کدومشون مسلط نیستم
با رجیستری هم که اصلا کار نکردم:لبخند: ولی اگه یکی قطعه کدی از فایلها بذاره ممنون میشم
mmssoft
چهارشنبه 28 مرداد 1388, 23:09 عصر
والا فعلا که من به هیچ کدومشون مسلط نیستم
با رجیستری هم که اصلا کار نکردم:لبخند: ولی اگه یکی قطعه کدی از فایلها بذاره ممنون میشم
مثلا کد زیر نوشته Text1 رو در رجیستری ذخیره میکنه. بخش های AppName، Setting و Password هم قابل تغییر هستند :
SaveSetting "AppName", "Setting", "Password", Text1.Text
و برای فراخوانی همین متنی که ذخیره کردیم باید از تابع GetSetting به شکل زیر استفاده کنیم :
GetSetting "AppName", "Setting", "Password"
امیدوارم که تونسته باشم کمک کنم.
موفق باشید
shahzadeh_jadid
چهارشنبه 28 مرداد 1388, 23:50 عصر
[quote=mmssoft;784731]مثلا کد زیر نوشته Text1 رو در رجیستری ذخیره میکنه. بخش های AppName، Setting و Password هم قابل تغییر هستند :
SaveSetting "AppName", "Setting", "Password", Text1.Text
[quote=mmssoft;784731]مثلا کد زیر نوشته Text1 رو در رجیستری ذخیره میکنه. بخش های AppName، Setting و Password هم قابل تغییر هستند :
SaveSetting "AppName", "Setting", "Password", Text1.Text
و برای فراخوانی همین متنی که ذخیره کردیم باید از تابع GetSetting به شکل زیر استفاده کنیم :
GetSetting "AppName", "Setting", "Password"
اگه اون چیزی که من برداشت کردم از این دوتابع کار باهاشون خیلی ساده هستش و خیلی کاربرد داره ولی فکر کنم شما مطلبو کلی گفتین...
اینکه چطوری به پسورد برنامه ربطشون بدم؟
اینکه این 3 گزینه توی تابع واسه چیه؟
چطوری میتونم تغیرش بدم؟
بعد تو ویندوزهای دیگه مشکلی پیش نمیاد؟
میشه در موردشون بیشتر توضیح بدین؟
ممنونتون میشم.:قلب:
mmssoft
پنج شنبه 29 مرداد 1388, 00:08 صبح
اگه اون چیزی که من برداشت کردم از این دوتابع کار باهاشون خیلی ساده هستش و خیلی کاربرد داره ولی فکر کنم شما مطلبو کلی گفتین...
اینکه چطوری به پسورد برنامه ربطشون بدم؟
اینکه این 3 گزینه توی تابع واسه چیه؟
چطوری میتونم تغیرش بدم؟
بعد تو ویندوزهای دیگه مشکلی پیش نمیاد؟
میشه در موردشون بیشتر توضیح بدین؟
ممنونتون میشم.
خوب میتونین پسورد برنامه رو با استفاده از تابع SaveSetting ذخیره کنید و بعد کدی رو با استفاده از تابع GetSrtting بنویسین که اگه رشته ای رو که Load کردین بدون متن بود برنامه به صورت عادی اجرا بشه، وگرنه یک فرم که فرم وارد کردن برنامه است اجرا بشه و از کاربر تقاضای پسورد کنه.
تو ویندوزهای دیگه هم مشکلی نداره.
HjSoft
پنج شنبه 29 مرداد 1388, 08:51 صبح
البته من اصلا استفاده از اين كد ها را پيشنهاد نميكنم چون به راحتي حتي با نرم افزار McAfee ميتونيد مسير سيو اطلاعات رو پيدا كنيد . ديگه بماند كه از ابزار هايي مثل FileMon يا OllyDbg استفاده كنيم . و اين روش اصلا روش خوبي براي سيستم هاي امنيتي نيست چون به راحتي لو ميره و كاربر بدون هيچ اطلاعاتي خاصي ميتونه اطلاعات رو برداره . البته براي كار هاي ديگه مشكلي نداره اعم از ذخيره تنظيمات كلي نرم افزار ، البته بازم براي اينا بعضي از انتي ويروس ها گير ميدن و مانع كار صحيح نرم افزار ميشوند .
mmssoft
پنج شنبه 29 مرداد 1388, 09:36 صبح
البته من اصلا استفاده از اين كد ها را پيشنهاد نميكنم چون به راحتي حتي با نرم افزار McAfee ميتونيد مسير سيو اطلاعات رو پيدا كنيد . ديگه بماند كه از ابزار هايي مثل FileMon يا OllyDbg استفاده كنيم . و اين روش اصلا روش خوبي براي سيستم هاي امنيتي نيست چون به راحتي لو ميره و كاربر بدون هيچ اطلاعاتي خاصي ميتونه اطلاعات رو برداره . البته براي كار هاي ديگه مشكلي نداره اعم از ذخيره تنظيمات كلي نرم افزار ، البته بازم براي اينا بعضي از انتي ويروس ها گير ميدن و مانع كار صحيح نرم افزار ميشوند .
اگه پسوردها رو به صورت کد شده ذخیره کنیم قابل شناسایی نیستند. مثلا اگه پسورد ما هست "1234mm42523" اگه اون رو به صورت کد شده در بیاریم و به شکل "sfg4hh752fj" ذخیره کنیم و هنگام پسورد گیری از کاربربا حالت Encode اون مقایسه کنیم، فکر نکنم پسورد اصلی قابل شناسایی باشه.
shahzadeh_jadid
پنج شنبه 29 مرداد 1388, 13:55 عصر
دوستان یه راهکار مناسب ارائه بدن
بالاخره من از کدومشون استفاده کنم که راحتتر باشم؟
حالا اگه از بانک استفاده کنم باید اونو توی مسیری خاص کپی کنم تا برنامه بتونه با بانک کار کنه .هر راهی که دوستان پیشنهاد دادن یکی ازش ایراد گرفت:اشتباه:
به نظر شما استفاده از تابع Save setting بهتر از بانک نیست؟
HjSoft
پنج شنبه 29 مرداد 1388, 17:08 عصر
هر دو مزايا و معايب خودشتون رو دارند و نميشه گفت كدوم بهتره ، در هر صورت بايد با فكر و ايده خودت يك كاري كني كه از اين دوتا با هم استفاده كني تا يك كار خوب در بياد .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.