PDA

View Full Version : سوال: بازیابی رمز عبور کاربر از برنامه ویندوزی به ایمیل



YasserDivaR
سه شنبه 13 بهمن 1394, 20:57 عصر
سلام والا نمیدونم عنوان رو چی بزارم
ولی سوالم اینه
من یه برنامه درست کردم تحت ویندوز
از بانک My SQL تغذیه میشهاگه کاربری رمز عبور رو فراموش کرد و خواست بازیابی رمز رو بزنه باید چیکار کرد
چطوری به ایمیل شخص ارسال کنه
من میخواستم این کارو کنم که نام یه سری اطلاعات اضافه بگیرم مث تاریخ تولد و ...بعد موقع بازیابی اگه صحیح بود رمزو تو برنامه نشون بده
ولی مث این که زیاد منطقی نیست - باید چه کرد بنظر تون؟

abdullah20
سه شنبه 13 بهمن 1394, 21:07 عصر
اطلاعاتی مثل تاریخ تولد که زیاد امن نیست
روش کار این صورته:
شما به 2 طریق میتونید این کار را انجام بدید:
1- ارسال به ایمیل
2- نمایش پسورد با پاسخ به سوال امنیتی
یعنی در زمان ثبت نام باید ایمیل یا یک سوال امنیتی پرسیده بشه و پاسخ ان را در دیتابیس ذخیره کنید تا در زمان بازیابی بتونید استفاده کنید

حالا بازیابی:
2 حالت داره:
1- الگوریتم رمزنگاری شما برگشت پذیر است=در این صورت همان پسورد کاربر ارسال میشه به ایمیل یا نمایش داده میشه بعد پاسخ به سوال امنیتی
2- الگوریتم رمزنگاری شما برگشت پذیر نیست=که در این صورت باید خود نرم افزار کلمه عبور جدید بسازه و ذخیره کنه داخل دیتابیس (ویرایش کنه) بعد ارسال کنه به ایمیل یا نمایش بده

YasserDivaR
سه شنبه 13 بهمن 1394, 21:39 عصر
اطلاعاتی مثل تاریخ تولد که زیاد امن نیستروش کار این صورته:شما به 2 طریق میتونید این کار را انجام بدید:1- ارسال به ایمیل2- نمایش پسورد با پاسخ به سوال امنیتییعنی در زمان ثبت نام باید ایمیل یا یک سوال امنیتی پرسیده بشه و پاسخ ان را در دیتابیس ذخیره کنید تا در زمان بازیابی بتونید استفاده کنیدحالا بازیابی:2 حالت داره:1- الگوریتم رمزنگاری شما برگشت پذیر است=در این صورت همان پسورد کاربر ارسال میشه به ایمیل یا نمایش داده میشه بعد پاسخ به سوال امنیتی2- الگوریتم رمزنگاری شما برگشت پذیر نیست=که در این صورت باید خود نرم افزار کلمه عبور جدید بسازه و ذخیره کنه داخل دیتابیس (ویرایش کنه) بعد ارسال کنه به ایمیل یا نمایش بدهبنده تشکر میکنم از شما دوست عزیزسوال من اینه اگه بخوام به ایمیل شخص ارسال کنم چیباید چیکار کرد راه حل منطقی

shahab.es
سه شنبه 13 بهمن 1394, 21:44 عصر
سلام
به نظر من شما میتونید یه سوال امنیتی بذارید مثل یاهو و بعد یه لینک رو به یوزرتون ارسال کنید، لینک توسط اپلیکیشن سی شارپتون ساخته میشه مثلا ادرس صفحه php شما و یه ارگومان ارسالی که نام کاربری این شخص هست
از اونجایی که میگید از سمت mysql اطلاعات میاد، همون سمت سرور ، یه رمز عبور رو میتونید بگیرید و اپدیت کنید بانک رو و بالطبع اگر توی اپلیکیشن سی شارپتون رمزی که ساخته رو بزنه، برنامه لاگین بشه
فکر میکنم جالب باشه این کار، کارهای عبدالله عزیز هم که منطقی و عالی هست :)

juza66
چهارشنبه 14 بهمن 1394, 01:08 صبح
سلام والا نمیدونم عنوان رو چی بزارم
ولی سوالم اینه
من یه برنامه درست کردم تحت ویندوز
از بانک My SQL تغذیه میشهاگه کاربری رمز عبور رو فراموش کرد و خواست بازیابی رمز رو بزنه باید چیکار کرد
چطوری به ایمیل شخص ارسال کنه
من میخواستم این کارو کنم که نام یه سری اطلاعات اضافه بگیرم مث تاریخ تولد و ...بعد موقع بازیابی اگه صحیح بود رمزو تو برنامه نشون بده
ولی مث این که زیاد منطقی نیست - باید چه کرد بنظر تون؟



سلام

من تویی وب الگوریتمم اینه:
موقع ثبت نام در سایت از کاربر ایمیل ادرس رو میخوام (براش یکبار کدفعال سازی میفرستم به ایمیلش بعدش طرف با کلیک رو کدفعال سازی یوزرش فعلا میشه) خوب تا اینجا شما باید اول ایمیل طرفت رو تویی دیتابیس ذخیره کنی

بعدش موقع بازیابی رمز، ایمیلش رو ازش میپرسی اگر این ایمیل قبلا ثبت شده باشه براش یک کد راندوم میسازی و تویی دیتابیس برای ایمیل وارد شده ذخیره میکنی و برای ایمیل هم ارسالش میکنی...

خوب طرف الان باید بره تویی ایمیلش لاگین کنه و اون کد راندومی که شما ساختید رو کپی کنه..

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

خوب طرف اگر ایمیل خودش باشه کد رو کپی میکنه و شما یک پنجره برای تغییر رمز براش نمایش میدی (دیگه نباید کاربر رمز قبلی رو ببینه شما باید موقعی که کد فعال سازی رو وارد میکنه اگر درست بود پسوردش رو باید پاک کنی.) و طرف رمز جدیدش رو وارد میکنه و شما براساس کدفعال سازی و ایمیلش براش رمزش رو اپدیت میکنی


و اگر طرف ایمیلش نباشه دیگه خوب ... هیچی

juza66
چهارشنبه 14 بهمن 1394, 01:14 صبح
اینم لینک ارسال ایمیل از طریق فرم ویندوز در سی شارپ:
http://barnamenevis.org/search.php?searchid=3658765

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

abdullah20
چهارشنبه 14 بهمن 1394, 08:25 صبح
من اخر نفهمیدم شما مشکلتون ارسال ایمیل بود یا نحوه بازیابی را میخواستید بدونید

YasserDivaR
چهارشنبه 14 بهمن 1394, 09:35 صبح
ممنون از همگی دمتون گرم
قافلگیر شدم این بزرگواران بنده رو راهنمایی کردن

تا اینجا شو که فهمیدم اما من میخوام بدونم که چطوری این کد نویسی رو ایجاد کنم که ریست به ایمیل بشه ایا نیاز هست تحت وب هم کد نویسی بشه یا نه
تحت وب بلد نیستم - علاقه ای هم ندارم
حالا با این موضوع بنظر تون همون ریست

shahab.es
چهارشنبه 14 بهمن 1394, 13:45 عصر
منم متوجه نشدم دقیق
الان شما میخواین پسورد تغییر کنه توی برنامه بعد مثلا نوشته بشه که به ایمیلتون ارسال شد؟
اینطوری مثلا؟
روشی که من گفتم خدمتتون سمت وب داشت اما اگه فقط میخواید اپتون ایمیل بفرسته و رمزی که ریست شده رو ارسال کنه میتونید از کد زیر برای ارسال ایمیل استفاده کنید...
من ازش استفاده کردم قبلا
MailMessage msg = new MailMessage();
MailAddress from = new MailAddress("emaili ke namayesh dade mishe be karbar", "onvane email", Encoding.UTF8);
MailAddress to = new MailAddress(To.Text);

SmtpClient smtp = new SmtpClient();

msg.Subject = "title email";
msg.SubjectEncoding = Encoding.UTF8;
msg.Body = "matne email";
msg.BodyEncoding = Encoding.UTF8;
msg.From = from;
msg.To.Add(to);
smtp.Host = "smtp.gmail.com";
smtp.Port = 25;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("id google bedoon @gmail.com", "password");
smtp.Send(msg);