PDA

View Full Version : مشکل در تصویر امنیتی



mcn.nice
پنج شنبه 26 اردیبهشت 1392, 21:38 عصر
سلام ب دوستان و اساتید محترم.

برای عبارت تصویر امنیتی ب یک مشکل بر خوردم ممنون میشم کمکم کنید.
من ابتدا رفتم یک کنترل تصویر با نام imgsecu یک button با نام btnnew یک کنترل متن با نام txtimage و یک label با نام lblerr تو panel قرار دادم .قصد دارم از این پنل برای نمایش popup استفاده کنم.
و این برنامه رو داخل button ارسال نظر نوشتم.


string ABC = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890";
Random rand = new Random();
object ABC1 = rand.Next(1, 36);
object ABC2 = rand.Next(1, 36);
object ABC3 = rand.Next(1, 36);
object ABC4 = rand.Next(1, 36);
object ABC5 = rand.Next(1, 36);
object ABC6 = rand.Next(1, 36);

string strABC1 = ABC.Substring(Convert.ToInt32(ABC1), 1);
string strABC2 = ABC.Substring(Convert.ToInt32(ABC2), 1);
string strABC3 = ABC.Substring(Convert.ToInt32(ABC3), 1);
string strABC4 = ABC.Substring(Convert.ToInt32(ABC4), 1);
string strABC5 = ABC.Substring(Convert.ToInt32(ABC5), 1);
string strABC6 = ABC.Substring(Convert.ToInt32(ABC6), 1);


string result = strABC1 + strABC2 + strABC3 + strABC4 + strABC5 + strABC6;
Session.Add("result", result);
Bitmap secimage=new Bitmap(Server.MapPath("~/pi/secu/backg.jpg"));
Graphics grafimage = Graphics.FromImage(secimage);
grafimage.DrawString(result.ToString(),new Font("Tahoma",11,FontStyle.Strikeout ),SystemBrushes.WindowText,new PointF());
secimage.Save(Server.MapPath("~/pi/secu/securityimage.jpg"));
imgsecu.ImageUrl = "~/pi/secu/securityimage.jpg";

}

با فشردن این کلید پنجره popup ظاهر میشه ولی هنوز کد های مربوط به popup کردن رو ننوشتم فقط کد های مربوط به تصویر رو نوشتم.
تمام عملیات درسته فقط مشکل من اینجاست که وقتی کد اشتباه رو وارد میکنی و بر روی گزینه ارسال مربوط ب panel کلیک میکنی باید کد تصویر عوض شه ولی هیچ اتفاقی نمیفته .
اصلا بگین چیکار کنم تا کد تصویر جدید شه؟

خیلی ممنون میشم کمکم کنید گیرم.

mcn.nice
پنج شنبه 26 اردیبهشت 1392, 21:39 عصر
ببخشید یادم رفت اینم کد مربوط ب button ارسال هست.

protected void btnsend_Click(object sender, ImageClickEventArgs e)
{
string ABC = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890";
string result = (string)Session["result"];
if (txtimage.Text == result)
{

}
else
{
lblerr.Text = "لطفا عبارت تصویر امنیتی را به درستی وارد کنید";

Random rand = new Random();
object ABC1 = rand.Next(1, 36);
object ABC2 = rand.Next(1, 36);
object ABC3 = rand.Next(1, 36);
object ABC4 = rand.Next(1, 36);
object ABC5 = rand.Next(1, 36);
object ABC6 = rand.Next(1, 36);

string strABC1 = ABC.Substring(Convert.ToInt32(ABC1), 1);
string strABC2 = ABC.Substring(Convert.ToInt32(ABC2), 1);
string strABC3 = ABC.Substring(Convert.ToInt32(ABC3), 1);
string strABC4 = ABC.Substring(Convert.ToInt32(ABC4), 1);
string strABC5 = ABC.Substring(Convert.ToInt32(ABC5), 1);
string strABC6 = ABC.Substring(Convert.ToInt32(ABC6), 1);


result = strABC1 + strABC2 + strABC3 + strABC4 + strABC5 + strABC6;

Bitmap secimage = new Bitmap(Server.MapPath("~/pi/secu/backg.jpg"));
Graphics grafimage = Graphics.FromImage(secimage);
grafimage.DrawString(result.ToString(), new Font("Tahoma", 11, FontStyle.Strikeout), SystemBrushes.WindowText, new PointF());
secimage.Save(Server.MapPath("~/pi/secu/securityimage.jpg"));
imgsecu.ImageUrl = "~/pi/secu/securityimage.jpg";
}

mohammad kafiyan
پنج شنبه 26 اردیبهشت 1392, 22:38 عصر
ساده ترین راه ایجاد تصاویر امنیتی جمع دو مقدار a,b هست که شما می تونی یک آرایه عددی تعریف کنی و سپس دو مقدار رندوم از این آرایه در مقدار a,b قرار بدی سپس مجموع این مدو مقدار را با مقداری که کاربر در textbox قرار می دهد مقایسه کنی در صورت true بودن دستورات مورد نظر را اجرا کنی یا اینکه مجددا مقادیر دوباره رندوم تولید کنی برای کاربر
را دیگه ایجاد تصویر رندوم از کاراکتر و عدد هست

نکته برای refresh تصویر امنیتی فقط باید یک update panel استفاده کنی

sasanrstm
پنج شنبه 26 اردیبهشت 1392, 23:09 عصر
سلام اتفاقا چند وقت پیش منم همین مشگل عوض شدن تصویر رو داشتم جستجو کن با نام کاربری بنده sasanrstm تو یه تایپک یه فایل ضمیمه شده که مشگلت حل میشه اگه نتونستی تایپک رو پیدا کنی خبرم کن
اینم لینک تصویر امنیتی که رو سایت خودم هست.
http://srstm.ir/Register.aspx

mohammad kafiyan
جمعه 27 اردیبهشت 1392, 01:48 صبح
نام کاربری بنده sasanrstm تو یه تایپک یه فایل ضمیمه شده که مشگلت حل میشه اگه نتونستی تایپک رو پیدا کنی خبرم کن
لینک بگذار

sasanrstm
شنبه 28 اردیبهشت 1392, 00:58 صبح
104316اینم یه پروژه کامل تصویر امنیتی واسه شما دوست عزیز امیدوارم به دردت بخورد موفق باشی

amin750
چهارشنبه 20 شهریور 1392, 15:16 عصر
ساده ترین راه ایجاد تصاویر امنیتی جمع دو مقدار a,b هست که شما می تونی یک آرایه عددی تعریف کنی و سپس دو مقدار رندوم از این آرایه در مقدار a,b قرار بدی سپس مجموع این مدو مقدار را با مقداری که کاربر در textbox قرار می دهد مقایسه کنی در صورت true بودن دستورات مورد نظر را اجرا کنی یا اینکه مجددا مقادیر دوباره رندوم تولید کنی برای کاربر
را دیگه ایجاد تصویر رندوم از کاراکتر و عدد هست

نکته برای refresh تصویر امنیتی فقط باید یک update panel استفاده کنی
من آموزش شما رو نگاه کردم خیلی جالب بود ممنون
فقط یه نکته توش مجهوله اگه میشه راهنمایی کنین
اونم اینکه توی کد زیر از brushStruct[] bb = new brushStruct[3]; ارور میگیره میگه که brushStruct[] نداریم
از namespce خاصی باید استفاده کرد؟؟

amin750
چهارشنبه 20 شهریور 1392, 15:21 عصر
104316اینم یه پروژه کامل تصویر امنیتی واسه شما دوست عزیز امیدوارم به دردت بخورد موفق باشی
حالا که زحمت کشیدی پسوردشم میداشتی!! :لبخندساده: