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

نام تاپیک: سرچ کردن جدول

  1. #1

    سرچ کردن جدول

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

    conn.Open();
    try
    {
    string s1 = "select name from manager where name ='" + nameTextBox.Text + "'";
    SqlCommand comd = newSqlCommand(s1, conn);
    string n = comd.ExecuteScalar().ToString();
    string s2 = "select password from manager where password='" + passTextBox.Text + "'";
    SqlCommand comd1 = newSqlCommand(s2, conn);
    string m = comd1.ExecuteScalar().ToString();

    if (n != "")
    if (m != "")
    {
    Response.Redirect("managment.aspx");
    }
    }

    catch { massageLabel2.Text = " try again"; };

    در ضمن متغییر number از نوع nvarchar و متغییر password از نوع int است .

  2. #2
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    با توجه به اینکه شما میگید متغیر password از نوع int هست نباید از ' در دستور Select استفاده کنید و دیگه اینکه باید اونو ابتدا به int ببرید، به هر حال من کد شما رو به این صورت اصلاح کردم که امیدوارم مشکلت حل بشه، فقط خود بلوک try-catch رو اضافه کن :
    string strCommand = "select * from manager where name='"+nameTextBox.Text + "' and password="+int.Parse(passTextBox.Text);
    SqlCommand comd = newSqlCommand(strCommand, conn);
    SqlDataReader dr;
    conn.Open();
    dr = cmd1.ExecuteReader();
    if(dr.HasRows)
    {
    Response.Redirect("managment.aspx");
    dr.Close();
    conn.Close();
    }
    else
    {
    dr.Close();
    conn.Close();
    }

  3. #3
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    سلام
    دوست عزیز اسماعیلی
    فکر نمی کنی کدت خیلی ناامنه!
    فرض کن دو نفر با دونام کاربری متفاوت و رمز عبور متفاوت ثبت نام می کنند.
    مثلاً
    نام کاربری نفر اول :‌User1 رمز عبور :‌Pass1
    نام کاربری نفر دوم :‌User2 رمز عبور :‌Pass2

    حالا نفر اول میاد و نام کاربری رو وارد می کنه User1 ولی رمز عبور رو میزنه Pass2
    با اینکه رمز و نام کاربری مال یکنفر نیست ولی وارد می شه.

    حالت بدتر:
    فرض کن من بخوام سیستمت رو هک کنم.
    نام کاربری یکنفر رو می دونم ولی رمز عبورش رو نمی دونم.
    حالا خودم میام و ثبت نام می کنم و یک نام کاربری و یک رمز عبور دریافت می کنم.
    حالا وارد صفحه ورود می شم (Login)
    نام کاربری کسی رو که می خوام اطلاعاتش رو ببینم به همراه رمز عبور خودم رو می دم.
    من خیلی راحت وارد سیستمت شدم و اطلاعات نفر اول رو دارم می بینم.!!!

    در مورد int.Parse(passTextBox.Text); هم باید بگم نیازی به پارس کردن نیست.
    کافیه اون رو بین تک‌کتیشن (") نگذارید تا Int‌ فرض شه.

  4. #4
    [.

    حالت بدتر:
    فرض کن من بخوام سیستمت رو هک کنم.
    نام کاربری یکنفر رو می دونم ولی رمز عبورش رو نمی دونم.
    حالا خودم میام و ثبت نام می کنم و یک نام کاربری و یک رمز عبور دریافت می کنم.
    حالا وارد صفحه ورود می شم (Login)
    نام کاربری کسی رو که می خوام اطلاعاتش رو ببینم به همراه رمز عبور خودم رو می دم.
    من خیلی راحت وارد سیستمت شدم و اطلاعات نفر اول رو دارم می بینم.!!!
    خیلی ممنون از پیشنهادتون ولی این مشکل رو حل کردم فقط کدش رو اینجا ننوشتم

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

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