PDA

View Full Version : سوال: مشکل در کد ورود به صفحه بعدی



vahidth
جمعه 08 دی 1391, 17:20 عصر
سلام دوستان
من یه دیتابیس ساختم با دو فیلد username و password از نوع nvarchar[50] حالا دو تا فرم ساختم در فرم اولم کد ورود رو به این صورت به کمک یکی از دوستان اینجوری نوشتم ولی ارور میگیره از
int cn = (int)com.ExecuteScalar();
اینم از کدها
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace project_login
{
public partial class Form1 : Form
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\vorod.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
public Form1()
{
InitializeComponent();
}

private void btnlogin_Click(object sender, EventArgs e)
{
if (txtusername.Text == "" && txtpassword.Text == "")
{
MessageBox.Show("پیغام", "لطفا فیلدها را کامل کنید این فیلدها نمی تواند خالی باشد", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
}
else
{
SqlCommand com = new SqlCommand("select count(username) from table where username='" + txtusername.Text + "' and password='" + txtpassword.Text + "'", con);
con.Open();
int cn = (int)com.ExecuteScalar();
con.Close();
if (cn > 0)
{
Form2 main = new Form2();
main.Show();
this.Hide();
}
else
{
com.CommandText = "select * from table";
SqlDataReader dr;
con.Open();
dr = com.ExecuteReader();
dr.Read();
int un = Convert.ToInt32(dr["uncorrect"].ToString());
con.Close();
un++;
com.CommandText = ("update table set uncorrect='" + un + "'");
con.Open();
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("نام کاربری یا رمز عبور اشتباه می باشد", "نادرست", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtusername.Text = "";
txtpassword.Text = "";
txtusername.Focus();
}
}

}
}
}

ایا این روش امن هست یعنی امنیتش زیاده یا نه؟

danialafshari
جمعه 08 دی 1391, 17:29 عصر
با ویزارد بلدم اگر میخوای میزارم؟

vahidth
جمعه 08 دی 1391, 17:41 عصر
ممنون میشم داداش گلم

ordebehesht
جمعه 08 دی 1391, 17:51 عصر
لطف کن متن خطا رو بزار ببینیم چی میگه

vahidth
جمعه 08 دی 1391, 18:11 عصر
97429
بیا داداش

ordebehesht
جمعه 08 دی 1391, 18:16 عصر
به جای این خط از این استفاده کن ببین حل میشه
int cn = (int)com.ExecuteScalar();

از این خط

int cn = (int)com.ExecuteReader();

vahidth
جمعه 08 دی 1391, 18:34 عصر
نه داداش بازم درست نشد
این ارور رو میده
97432
داداش من میگم این کد یکم قابل فهم نیست میشه یه کد دیگه بنویسی که امنیتش هم بیشتر باشه

ordebehesht
جمعه 08 دی 1391, 18:44 عصر
ببخش دادا اشتب نوشته بودم اینو امتحان کن

int cn = (int)com.ExecuteNoneQuery();

danialafshari
جمعه 08 دی 1391, 18:47 عصر
این کارت رو راه میندازه ؟
رمز : 123

vahidth
جمعه 08 دی 1391, 18:49 عصر
97434
نشد داداش بازم ارور میده اگه لطف کنی کد دیگه ای رو بنویسی ممنون میشم چون این کد یکم پیچیده شد
http://barnamenevis.org/images/misc/pencil.png

ordebehesht
جمعه 08 دی 1391, 18:51 عصر
میشه یبگی مخوای چه کنی در کل

vahidth
جمعه 08 دی 1391, 18:53 عصر
این کارت رو راه میندازه ؟
داداش ممنون میشه رمزشو بگی
چطوری میتونم با کد بنویسم چون گفتن حتما با کد بسازین

vahidth
جمعه 08 دی 1391, 18:56 عصر
داداش میخوام یه پروِه لوگین بسازم که 3 تا فرم داشته باشه فرم اول ورود به صفحه اصلی یا همون فرم دوم و در فرم سوم هم بتونم رمز رو تغییر بدم همین فقط باید امنیشتش زیاد باشه نمیدونم چیکار کنم 3 روز سرچ میکنم ولی چیز خوبی پیدا نکردم

danialafshari
جمعه 08 دی 1391, 19:04 عصر
داداش میخوام یه پروِه لوگین بسازم که 3 تا فرم داشته باشه فرم اول ورود به صفحه اصلی یا همون فرم دوم و در فرم سوم هم بتونم رمز رو تغییر بدم همین فقط باید امنیشتش زیاد باشه نمیدونم چیکار کنم 3 روز سرچ میکنم ولی چیز خوبی پیدا نکردم

رمز=123


ولی رمزش باید وقت بزاری!
باید یه تابع درست کنی که تک تک کاراکتر ها رو جدا کنه و براشون معادل بزاری مثلا a=2d صرفا مثال بود
و یا می تونی از الگوریتم MD5 استفاده کنی
زیاد قصشو نخور کاری نداره :چشمک:

دوست خوبم این برنامه خیلی راحته 3 روز نتونستی کد رو پیدا کنی؟ :لبخند:
الان کار دارم اگر تا شب پیدا نکردی برات درستش می کنم
یا علی

vahidth
جمعه 08 دی 1391, 19:44 عصر
ممنون میشم داداش گلم اگه این کارو کنی

vahidth
جمعه 08 دی 1391, 23:03 عصر
منتظریم داداش...

vahidth
شنبه 09 دی 1391, 09:11 صبح
یکی از دوستان کد لوگین رو به من بگه الان 4 روزه دنبال این کد هستم هیچکس جواب نمیده

danialafshari
شنبه 09 دی 1391, 15:35 عصر
منتظریم داداش...

شرمنده شب وقت نکردم انجامش بدم

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

موفق باشی

یادم رفت db رو بزارم که اصلاح کردم
رمز غبور : 123

vahidth
شنبه 09 دی 1391, 15:43 عصر
ممنون داداش اما وقتی برنامه رو اجرا میکنم ارور میده دیتابیس رو کپی نکردی داداش

danialafshari
شنبه 09 دی 1391, 15:50 عصر
اصلاح شد دوباره دانلود کنید

vahidth
شنبه 09 دی 1391, 16:32 عصر
ممنون داداش گلم خدا خیرت بده اعصابمو بهم ریخته بود داداش میتونم از دو فیلد یوسر و پسورد در ابتدای فرم لوگین استفاده کنم میشه یکمی هم درمورد اون توضیح بدی