ایجاد صفحه لاگین با سی شارپ :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam

با سلام ... امیدوارم اوقات به کامتون باشه
در این پست قراره درباره رمز گذاشتن برای برنامه هامون توی سی شارپ بحث کنیم و بعدش مجددا به دیتابیس متصل بشیم و اگه اطلاعات موجود داخل دیتابیس با اطلاعات وارد شده توسط کاربر مطابقت داشت کارایی که در نظر گرفتیم رو انجام بده


شاید برای شما هم پیش اومده باشه که یه پروژه ای رو تکمیل کنید و نخوایید کسی جز خودتون و کسایی که بهش اجازه میدین از برنامه تون استفاده کنن به همین خاطر برای ورود به برنامه یه قسمت لاگین یا "ورود" به برنامه اضافه میکنیم
قسمت لاگین در حالت کلی از دوتا TextBox دوتا Label و دوتا دکمه شکل میگیره
که TextBox اولی نام کاربری و دومی رمز عبور در نظر گرفته میشه که دوتا لیبل این دو رو نام گزاری میکنن
دو دکمه هم یکی ورود و دیگری انصراف میتونه باشه
خوب بریم سراغ کدهای ورود
برای نام کاربری و رمز های ثابت میتونیم از تکه کد شرطی پایین استفاده کنیم

if (textBox1.Text == "virus32" && textBox2.Text == "12345" || textBox1.Text == "mr_coder" && textBox2.Text == "1020304050")
{
	MessageBox.Show("اطلاعات وارد شده صحیح است", "پیغام",MessageBoxButtons.OK);
}
else
{
	MessageBox.Show("داداچ داری اشتبا میزنی", "پیغام", MessageBoxButtons.OK);
}

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

در کدهای بالا دو نام کاربری (virus32 و mr_coder ) و دو رمز ورود تعیین کردیم که اگه هر کدوم درست وارد شد ادامه کار انجام بشه
در غیر این صورت هم میتونیم یه پیامی نمایش بدیم مبنی بر اشتباه بودن رمز و نام کاربری یا هر کار دیگه ای ...
این ساده ترین نوع ایجاد یه صفحه لاگین هستش
در ادامه یه پروژه لاگین با بانک اطلاعاتی Access رو باهم تکمیل میکنیم

خب دیگه بریم سر اصل مطلب ...

داخل بانک اطلاعاتیتون یه تیبل ایجاد کنین با اسم members که سه تا کلومن داره با اسم های id ، username ، pswd و مقدار پیشفرض اونارو پر کنین ، مثلا من مقادیر نام کاربری و پسوورد رو مقادیری در نظر میگیرم که تو کدهای بالا گفته شده بود

حالا وارد پروژه ای که ایجاد کردین بشین و اگه ایجاد نکردین ، بهتره ایجادش کنین و مواردی مثل دو تا تکست باکس و دو تا لیبل و غیره اضافه کنین که نحوه ی چیدمانشم میتونه مثل چیدمانی باشه که بالاتر مشاهده کردیم :)

وقتی چیدمان اوکی شد برین سراغ کدها و وارد بخش کتابخونه ها بشین و کتابخونه ی پایین رو به اون اضافه کنید که برای کار با بانک اطلاعاتی اکسس هستش

using System.Data.OleDb;

حالا باید یه کانکشن ایجاد کنیم که برای اینکار ، زیر آکولاد آخری کدهای پایین :)

public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

کد پایین رو قرار میدیم

static OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=login.mdb");

حالا ما باید بیایم و با استفاده از دستور select اطلاعات آورده شده داخل دیتابیس رو بدست بیاریم ، برای اینکار هم میتونیم از کلاس OleDbDataAdapter استفاده کنیم و غیره ...

خب حالا روی دکمه ی ورود برنامتون دو بار کلیک کنید تا رویداد مربوط به اون باز بشه و کدهای پایین رو داخلش قرار بدین

OleDbDataAdapter da = new OleDbDataAdapter("select * from members where username='" + textBox1.Text + "' and pswd='" + textBox2.Text + "'", Form1.conn);
DataTable dt = new DataTable();
Form1.conn.Open();
da.Fill(dt);
Form1.conn.Close();
if (dt.Rows.Count > 0)
{
	MessageBox.Show("اطلاعات وارد شده صحیح است", "پیغام",MessageBoxButtons.OK);
}
else
{
	MessageBox.Show("داداچ داری اشتبا میزنی", "پیغام", MessageBoxButtons.OK);
}

خب اینم از کدهای رویداد دکمه ی اول ...

حالا روی دکمه ی دوم که همون Cancel هستش دو بار کلیک کنین و کد پایین رو داخلش قرار بدین که وقتی روی دکمه ی دوم کلیک شد برنامه بسته بشه

Application.Exit();

بازم اگه سوالی بود بپرسین ...

موفق باشید

نظر (۲۱)

مثل همیشه عالی:)
Virus32 MR_C0D3R ‌ :
ممنون :)
عالی بود👍
Virus32 MR_C0D3R ‌ :
مرسی نظر لطفتونه :)
  • Virus32
  • علیرضا آهنی
  • 👌👌
  • Virus32
  • Virus32 Fake (Mozahem32)
  • یعنی من عاشقتم خیلی وقت بود منتظر این پست بودم دقیق همونه که میخواستم
    مرسی عزیز
    Virus32 Virus 32 :
    بله دستش درد نکنه
    این کدر کارش حرف نداره D:
  • Virus32
  • محمد صدرا حیدرزاده
  • آقا ما باید با چه فورمتی اینو  ذخیره کنیم؟
    Virus32 Virus 32 :
    داداش اینو باید اینطوری شروع کنی
    عالی .
    میشه فایلکاملش رو تو یه لینک اپلود کنی مظابقتش بدم.
    ممنون :)
    Virus32 MR_C0D3R ‌ :
    چشم در اسرع وقت پایین همین پست براتون لینک میکنم
    داداش من اینو ساختم و روی دکمه ی تایید که می زنم خالی هست باید طبق برنامه بگه نمی تواند خالی باشد یا استباه هست و و و .. ولی اینو نمیگه برنامه رو مینیمایز می کنه و اینو میده
    http://s8.picofile.com/file/8357949692/Error.png
    Virus32 Virus 32 :
    برای بانک اطلاعاتی رمز گذاشتی؟
    سلام داداش ببین من اینو ساختم اره راستی رمزم داشت پاک کردم اوکی شد الان به خط زیر اون اررور میده متنش اینه :  can't find members ...

    Virus32 Virus 32 :
    سلام عزیز
    این پست رو بخون
    آموزش ساخت دیتابیس هستش
    این خطا هم میگه کلومن members یافت نشد
    احتمالا نساختیش
    راستی بانک اطلاعاتی میتونه رمز هم داشته باشه فقط کافیه رمز رو به رشته اتصالت اضافه کنی به شکل زیر
    static OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=login.mdb;Jet OLEDB:Database Password=123;");

    سلام دوستان هم خواستم بگم مشکل این صفحه ی لاگین حل شد یعنی الا ن کار می کنه و هم خواستم بگم اونایی هم که مشکل رو داشتن بدونن مشکل از این بود که اسم تیبل رو من یک چیز دیگه گذاشته بود باید میزاشتم members

    Virus32 MR_C0D3R ‌ :
    سلام عزیز
    آره دیگه تو پست هم گفتم....
    اگه بخونن خودشون متوجه میشن که باید اسم تیبل رو چی بزارن و غیره....
    مرسی :)
    سلام داداش الان یاد گرفتم چطوری با مقادیری که به بانک اطلاعاتی میدم وارد برنامه بشم حالا میشه یک پست بنویسی یا لینک بدی یا کمک کنی یک کد هایی بنویسم که ریجستر کنم یعنی با مقادیری که در تکست باکس یوزر نیم و پسورد میزنم و ایید رو میزنم به بانک اطلاعاتی اضافه کنه بعد لاگین کنم !؟!
    Virus32 Virus 32 :
    سلام
    مثل اضافه کردن اطلاعاته دیگه
    یه فرم جدید براش درست کن و اطلاعات رو در کلومن members ذخیره کن
    بلدی insert کنی یا ...
    سلام داداش یه سوالی داشتم
    مصلا شما فرض کن که میخوایم یه برنامه بسازیم که هیچ کس نتونه کپی بگیره ازش و فقط با یورنیم و پسوورد وارد بشه..(البته روش دیگه ای هم خودت توضیح دادی)..ولی نمیشه یه کاری کرد که یکی یه بار اون یوزرنیم رو وارد میکنه اون یوزرنیم از برنامه کلا پاک بشه و دیگه با اون نشه لاگین رد و باید یوزرنیم و پسوورد دیگری وارد بشه
    ...............
    برای من این موضوع مهمه اگه کمکم کنید ممنون میشم چون خودم هرکاری کردم نتونستم راهی پیدا کنم
    ......................
    باتشکر
    Virus32 MR_C0D3R ‌ :
    چیزی که برای این به ذهنم میرسه
    توی کد دکمه ثبت نام کاربری بگیم که وقتی نام کاربری وارد شد تو برنامه
    یه کلید داخل رجیستری ویندوز ایجاد کنه
    و توی فورم لود یه تکه کد بزاریم که قبل از اجرا چک کنه و اگه اون کلید وجود داشت
    برنامه تشخیص بده که کاربر یکبار نام کاربری رو وارد کرده....
    -------
    پ ن :
    نمیتونی جلوی کپی رو بگیری
    در هر صورت قبل از نصب یا قبل از اجرا میتونه کپی بشه
    بهترین روش محدود کردن به سخت افزار هستش
    تو صفحه program.cs کد سخت افزار مثلا درایو سی سیستم شناسایی میشه
    از بانک اطلاعاتی کلید این کد فراخوانی میشه
    اگر بود که هیچی (برنامه اجرا میشه)
    اگر نبود کد رو به مشتری نمایش میده و میگه که برای این کد از برنامه نویس کلید بخواه
    مشتری کد سیستمش که مختص اون سیستم هست رو برای تو ارسال میکنه
    تو کلید رو میدی به مشتری
    مشتری کلید رو ثبت میکنه و برنامه اش فعال میشه
    حالا این برنامه با این کلید فقط و فقط برای اون سیستم اجرا شدنی هست
    برنامه رو برای یک نفر در نظر نگیر هیچوقت برای یک سیستم در نظر بگیر. از یه سیستم میخواد هزار نفر استفاده کنن میخواد یک نفر استفاده کنه.
    Virus32
    اکی داداش فقط یه سوال دیگه اگه مثلا اون فرد کد رو به من بده که رمز رو بهش بدم ..........من خودم رمز رو باید از کجا بیارم یا چجوری بدست بیارم ؟؟؟؟؟؟
    Virus32 Virus 32 :
    بستگی به خودت داره دیگه
    فرض کن
    من یه برنامه ای با این ویژه گی بهت دادم
    و کد سخت افزار سیستم تو abc123 هست

    برنامه ی من این کد رو درمیاره بعد با یه روشی تبدیل به یه کد دیگه میکنه.
    مثلا ساده ترین شکلش اینه که کد اسکی کاراکتر های این کد رو درمیاره که میشه : 9798993132333
    بعد توی دیتابیس دنبال این کد اسکی میگرده (تو تیبل و کلومن و ردیفی که مشخص کردیم)
    اگه این کد وجود داشت که استارت میشه اگه نبود هم استارت نمیکنه و با یه صفحه دیگه که ازت کد میخواد روبروت میکنه
    در صفحه باز شده کد سخت افزارت abc123 بهت نمایش داده میشه (میشه این کد رو هم دستکاری کرد تا وقتی کاربر باهاش روبرو شد متوجه نشه کد سخت افزارشه چون میتونه با برنامه های دیگه این کد رو استخراج کنه بعد با کلیدی که تو برای یه برنامه میفرستی رمزنگاری کنه و ....)
    در کل تو این کد رو به من میرسونی
    من با برنامه ای که برای خودم ساختم تبدیل به کد کلیدم میکنم (میتونه اسکی باشه یا هگز یا هش یا هر چیز دیگه)
    من کلید رو میدمش به تو و تو ثبتش میکنی و ....
    مهم ترین قسمت همون قسمت کد شدن هستش باید از ترفند های خاص استفاده کنی
    مثلا میتونی یه مسیر ریاضی به کدها اضافه کنی (بعد از اسکی شدن با یه عددی ضرب جمع تقسیم یا کمش کنی)
    یا میتونی خودت فکر کنی یه روش ابداعی درست کنی و ....
    مثل همیشه عالی......باتشکر از وبلاگ خوبتون........خیلی کمک کرد
    Virus32 MR_C0D3R ‌ :
    خواهش میشه :)

    آقا یه کمکی کن من نمیتونم با ویژوال کار کنم یه کامپایلر دیگه بگو

    Virus32 Attacker 32 :
    سلام عزیز، ویژوال استادیو جزو بهترین کامپایلرهاست. یکم کار کنی راه میفتی، پست های سی شارپ رو از اول بخون، راه میفتی نگران نباش

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

    Virus32 Attacker 32 :
    روو باتن دوبار کلیک کن، بخش کدنویسی برای باتن بالا میاد که باید کد مورد نظرت رو توو اون قسمت بنویسی، تا هنگامی که رو باتن کلیک شد برات کاری انجام بده، مثلاً کد نمایش پیغام:
    MessageBox.Show("تیتر پیغام","متن پیغام"); 
    هرکاری دوست داری با باتن بکنی فقط کافیه کدش رو توو این بخش بنویسی.
    موفق باشی ;)

    ببین مشکل دارم http://s3.picofile.com/file/8370875342/Captddure.PNG

    http://s5.picofile.com/file/8370875350/Capture.PNG

    Virus32 MR_C0D3R ‌ :
    یه پروژه کنسولی ایجاد کن
    یا اینکه از یه ویژوال دیگه مثل ویژوال 2013 استفاده کن

    سلام

    من کلا میونه خوبی با دیتا بیس ها ندارم ، چه کدی برای وصل شدن به ( مثلا ) به فرم 2 هستش اگر یوزر و پس درست بود

    تنکس:)

    Virus32 32 Attacker ‌ :
    سلام دیتابیس خیلی خوشگله که :( اگه یاد بگیری خیلی هم جالب و باحاله هی دنبال بهونه میگردی پروژت رو به دیتابیس وصل کنی D:
    اگه منظورت اینه که وقتی پسورد رو درست زد، فرم2 بالا بیاد، باید توو همون دستور شرطی که قرار دادیم، کد زیر رو بنویسی:

    if (dt.Rows.Count > 0)
    {
    MessageBox.Show("اطلاعات وارد شده صحیح است", "پیغام",MessageBoxButtons.OK);
    Form2 f2 = new Form2();
    f2.Show();

    }


    آخه از چیه دیتا بیس ها خوشت میاد؟

    نه آخه دیتا بیس o:

    =)

    Virus32 32 Attacker ‌ :
    یاد بگیری حال میده D:
    منم اولش مثل تو بودم

    نمی دونم داداش

    فقط به خاطر تو میرم یاد میگیرم

    ;)

    Virus32 32 Attacker ‌ :
    آورین آورین ;)

    سلام 

    وقت بخیر 

    مهندس بعد از تشکر از آموزشاتتون می خواستم بگم اگر می خواهم به فرم لاگین ،(مرا به خاطر بسپار) را اضافه کنم 

    باید چه کاری انجام دهم؟؟

    Virus32 Virus 32 :
    سلام ممنون
    ساده ترین راه استفاده از دیتابیس برنامه است
    روش خوبش استفاده از ستینگ برنامه است
    اینجا خوب توضیح داده شده
  • Virus32
  • عباس بوعذار
  • حلال اولسون عالیییییییییییی حلالللللللللللل

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی