PDA

View Full Version : مشکل با کد امنیتی



ali_autumnal
سه شنبه 12 مهر 1390, 12:04 عصر
با سلام و خسته نباشید

یه تابعی نوشتم کد امنیتی تولید میکنه. این تابع رو تو رویداد page load فراخوانی می کنم. مقدار رشته رو به فرم زیر ذخیره می کنم:



if (Session["key"] != "true")
{
string strPath = null;
strPath = draw(ref strText);
Session.Add("TextCode", strText);
Image1.ImageUrl = strPath;
Session.Add("key", "true");
}


دستور چک کردن کد رو هم به این شکل نوشتم:


string st = Session["TextCode"].ToString();
if (txtCode.Text.Trim() != st)
{
lblText.Text = "خطا هنگام ارسال اطلاعات" + "<br />" + "کاربر گرامی: کد امنیتی را بدرسی وارد نمائید.";
lblText.Visible = true;
txtCode.Text = "";
Session.RemoveAll();
return;
}



اگه کاربر بدرستی کد رو وارد کنه مشکلی نیست. اما اگه یه بار اشتباهی وارد کنه به مشکل برمیخوره. عکس جدید مدام تولید میشه و Session ای هم وجود نخواهد داشت.

چیکار کنم به این مشکل بر نخورم؟
آیا فراخوانی تابع تولید کد امنیتی نباید تو رویداد page load اتفاق بیفته؟ اگه نه پس کجا فراخوانی بشه بهتره؟

متشکرم
علی پاییزی
وب سایت (http://www.babamoradi.ir/)

mehran_sh_t
سه شنبه 12 مهر 1390, 12:47 عصر
عکس جدید مدام تولید میشه و Session ای هم وجود نخواهد داشت.


از تابع draw مطمئنید؟ این طور که به نظر میاد اونجا باید گیر کنه تو یه چیزی مشابه حلقه!

ali_autumnal
سه شنبه 12 مهر 1390, 13:02 عصر
از تابع draw مطمئنید؟ این طور که به نظر میاد اونجا باید گیر کنه تو یه چیزی مشابه حلقه!

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

یه مشکل دیگه هم دیدم اینکه بعضی وقت ها اصلا عکس لود نمیشه.

ali_autumnal
سه شنبه 12 مهر 1390, 13:29 عصر
دوست عزیز شکل حل شد. با کمی تغییر درست شد.
لود صفحه:


txtName.Focus();
if (Session["key"] != "true")
{
string strPath = null;
strPath = draw(ref strText);
Session.Add("TextCode", strText);
Image1.ImageUrl = strPath;
Session.Add("key", "true");
}


و برسی صحت:


if (txtCode.Text.Trim() != st)
{
lblText.Text = "خطا هنگام ارسال اطلاعات" + "<br />" + "کاربر گرامی: کد امنیتی را بدرسی وارد نمائید.";
lblText.Visible = true;
txtCode.Text = "";
Session.RemoveAll();
Page_Load(null, null);
return;
}


متشکرم که وقت گذاشتی
علی پاییزی