PDA

View Full Version : ساخت کد امنیتی و عدم سازگاری با مرورگرها



kohyar
شنبه 10 تیر 1391, 15:37 عصر
سلام دوستان
من بااستفاده از کد زیر کد امنیتی ایجاد کردم


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing.Text;
using System.Drawing.Imaging;
using System.Security.Cryptography;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
{
public string createsalt()
{
Random rnd = new Random();
return Convert.ToString(rnd.Next(100000, 999999));
}
public string craeteimage(int w, int h)
{
string salt = createsalt();
Random r = new Random();
Bitmap bmp = new Bitmap(80, 50, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmp);
g.TextRenderingHint = TextRenderingHint.AntiAlias;
//
g.Clear(Color.Gray);
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
System.Drawing.Drawing2D.Matrix mymat = new System.Drawing.Drawing2D.Matrix();
for (int i = 0; i < salt.Length; i++)
{
mymat.Reset();
mymat.RotateAt(r.Next(-45, 0), new PointF((float)(w * (0.12 * i)), (float)(h * 0.5)));
g.Transform=mymat;
//
g.DrawString(salt[i].ToString(), new Font("Comic Sans MS", 12, FontStyle.Bold), Brushes.Blue, (float)(w * (0.12 * i)), (float)(h * 0.5));
g.ResetTransform();
}
bmp.Save(Server.MapPath("~/temp/random.gif"), ImageFormat.Gif);
g.Dispose();
bmp.Dispose();
return salt;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string salt = craeteimage(100,50);
Image1.ImageUrl = "~/temp/random.gif";
Session.Add("salt", salt);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text!=Session["salt"].ToString())
{
Label1.Style.Add("color","red");
Label1.Text=" ";
string salt = craeteimage(100, 50);
Image1.ImageUrl ="~/temp/random.gif";
Session.Add("salt", salt);
}
}
}

روال کار بدین صورت هستش که بااستفادهاز تابع random یک عدد تصادفی ایجاد و تبدیل به تصویر می کنم و بعد تصویر رو یکم می چرخونم
این برنامه تو کروم و فایر فاکس بدرستی عمل میکنه ولی تو اینترنت اکسپلورر 8 مشکل دارم
مشکلش هم خیلی عجیبه زمانیکه صفحه رو رفرش می کنم کد امنیتی مجدداً ایجاد و تصویر کد عوض میشه
ولی زمانیکه روی دکمه چک کردن صحت کد امنیتی کلیک می کنم کد اجرا میشه و مقدار session هم عوض میشه ولی تصویر دکمه عوض نمیشه
البه این مشکل رو روی کلاینت که برنامه رو تست می کنم ندارم فقط زمانیکه صفحه رو روی اینترنت آپلود می کنم وجود دارد
حتی روی چند تا هاستینگ مختلف هم تست کردم
من حدس میزنم شاید بخاطر هم نام بودن تصاویر و امکان لود از کش روی هاستینگ ها باشه
لطف88990

TeacherMath
شنبه 10 تیر 1391, 17:01 عصر
از این نمونه استفاده کنید.
http://barnamenevis.org/attachment.php?attachmentid=88751&d=1340684902

sasanrstm
یک شنبه 11 تیر 1391, 00:51 صبح
سلام خوبي دادا من يه تصوير امنيتي درست كردم وتو همين سايت گذاشتم تو همه مرور گرها كار ميكنه تو سايت خودمم گذاشتم فقط كافي بري تو جستجوي پيشرفته ونام منو سرچ كني همه تيكت ها ميان ببين تو كدومشه آدرسش يادم نيست نام كاربري منو جستجو كن پيدا ميكني دانلودش كن دگمه رفرش هم براش گذاشتم نام كاربريم sasanrstm تو اينترنت هم گذاشتم اينم آدرس همون فايل تصويره http://rstm.diamondrstm.ir

kohyar
یک شنبه 11 تیر 1391, 12:24 عصر
سلام دوست عزیز
ولی فایل شما رو که Extract می کنم یک فایل با پسوند zipx به من میده
با چه نرم افزاری باز میشه
مرسی

kohyar
یک شنبه 11 تیر 1391, 12:26 عصر
سلام دوستان
واسه من جالب اینه که این برنامه تو لوکال سیستم من با اینترنت اکسپلورر 8 مشکل نداره فقط زمانیکه رو اینترنت آپلود میکنم این مشکل پیش میاد
بازم میگم نظر من اینه که بخاطر استفاده از کش روی هاستینگ ها و همنام بودن تصاویر امنیتی هستش
مرسی