کرج وب


 

 راهنما  |  عضویت  |   تعرفه پنلهای مدیریت  | افزايش اعتبار | ثبت وب سایت  |   سوالات متداول  

Home  

Email

  کرج وب

 


ورود کاربران

نام کاربری :

کلمه عبور:

عضويت در سايت

فراموشی کلمه عبور

 

مطالب جدید

 

مدارک بین المللی مایکروسافت


معرفی سرویس های گوگل


الگوریتم نام گذاری فایل ها در ویندوز XP


گوگل مسنجر خود را بنام Talk عرضه کرد


دنیای آینده ، دنیای همیشه آنلاین

 

سایتهای مفید

 

w3schools.com

سایت آموزش و ارائه مدرک در زمینه علوم اینترنتی

http://www.w3schools.com


codeproject.com

سایتی شامل کدهای آماده و متنوع

http://www.codeproject.com

 

 

  کرج وب

 


اخبار روز

براي ثبت آدرس اختصاصي و منحصر به فرد هنوز هم دير نشده ، همين امروز مي توانيد Domain خود را Online به ثبت برسانيد ، براي شروع نام آن را در قسمت بالا وارد نماييد.ادامه مطلب . . .


سايت شما نياز به يك سرويس دهنده پر سرعت دارد ، ظرف مدت چند دقيقه Hosting مورد نياز سايت خود را تهيه نماييد، براي شروع مي بايست، عضو شويد.               ادامه مطلب . . .


نياز به مراجعه حضوري نيست، با شارژ حساب خود مي توانيد در هر لحظه از شبانه روز براي راه اندازي سايت خود اقدام نماييد. ادامه مطلب . . .

عناوین پربیننده

Ajax : تحولی بزرگ در عرصه وب

فناوری های مرتبط با Ajax در طی ساليان گذشته  مطرح  و  از آنها در مجموعه ای از نرم افزارها استفاده می گرديد .  Jesse James Garrett در مقاله خود تمامی فناوری های اشاره شده را در زير يك سقف و با نام Ajax  كنار هم قرار داد .        ادامه مطلب . . .


LINQ : تحولی بزرگ در کار با داده

از تکنولوژی CSS)Cascading style sheet) ،  بمنظور کنترل شکل ظاهری عناصر موجود بر روی يک فرم وب استفاده می گردد . از امکانات CSS ، می توان در جهت تنظيم رنگ ، اندازه ، فونت  و رفتار عناصر HTML موجود بر  روی يک صفحه وب استفاده نمود . ادامه مطلب . . .


اصول امنيت برنامه های وب
سوئيچ و نكات ايمنی در ارتباط با آن

سوئيچ مسئول فورواردينگ بسته های اطلاعاتی به يك هاست و يا سگمنت شبكه است ( در مقابل اشتراك داده در تمامی شبكه ) . بنابراين سوئيچ ، ترافيك بين سگمنت های متفاوت شبكه را به اشتراك نمی گذارد . رويكرد فوق باعث پيشگيری packet sniffing  بين  شبكه های مختلف می گردد . ادامه مطلب . . .


 

پيکربندی IIS با رعايت مسائل امنيتی

با استفاده از سرويس FTP) File Transfer Protocol) ، سرويس گيرندگان قادر به ارسال و يا دريافت اطلاعات به / از يک سرويس دهنده FTP می باشند . با اينکه برخی از قابليت ها و توانائی های FTP بر روی اينترنت،  توسط سرويس وب ( www ) ارائه و جايگزين شده است ولی استفاده از سرويس FTP  ، همچنان امری متداول است. ادامه مطلب . . .

 

ایجاد تصویری که شامل ترکیبی از کلمه وحروف و یا اعداد تصادفی باشد

در خیلی از سایت ها در هنگام عضویت یا استفاده از یک سرویس خاص شاهد تصویری هستید که شامل ترکیبی از کلمه و حروف و یا اعداد تصادفی است و شما باید متن داخل عکس را داخل یک تکس باکس وارد کنید تا اجازه ادامه عملیات را دریافت کنید  .  ادامه مطلب . . .

 

  

در خیلی از سایت ها در هنگام عضویت یا استفاده از یک سرویس خاص شاهد تصویری هستید که شامل ترکیبی از کلمه و حروف و یا اعداد تصادفی است و شما باید متن داخل عکس را داخل یک تکس باکس وارد کنید تا اجازه ادامه عملیات را دریافت کنید  .



شاید بپرسید که دلیل این کار چیست ؟ دلیل اصلی این کار جلوگیری از ورود یک ربات به سیستم است ، به زبان ساده تر این تصاویر سامانه را از ورود یک انسان مطمئن می کند چرا که یک ربات هیچ گاه نمی تواند نوشته داخل تصویر را تشخصی دهد ، البته نرم افزار هایی برای تشخیص متن داخل عکس وجود دارند ولی با کمی تغییر در حروف و اعداد (مثلا افکت دادن به تصویر) دیگر قادر به تشخصی حروف و اعداد نخواهند بود .


در این مقاله قصد دارم ساخت این تصاویر امنیتی (  Verification Image یا Security Pictures  ) را توضیح بدهم :




برای اینکار به فضا نام های زیر نیاز داریم :




Imports System.Drawing.Text
Imports System.Drawing.Imaging
Imports System.Security.Cryptography
Imports System.Drawing


 


اکنون یه تابع تعریف می کنیم برای ساختن رشته حروف تصادفی :




Public Function CreateSalt( As String

Dim rng As New RNGCryptoServiceProvider

Dim buff(4) As Byte

rng.GetBytes(buff)

Return Convert.ToBase64String(buff)

End Function


البته برای راحتی کار شما می توانید از تابع Random برای تولید یک عدد تصادفی نیز استفاده نمایید :


 




Public Function CreateSalt() As String

Dim rnd As New Random

Return rnd.Next(10000, 99999)

End Function




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

 




Public Function CreateImage(ByVal path As String, ByVal height As Integer, ByVal width As Integer) As String

Dim r As New Random

Dim salt As String = CreateSalt()

Dim bmp As New Bitmap(width, height, PixelFormat.Format24bppRgb)

Dim g As Graphics = Graphics.FromImage(bmp)

g.TextRenderingHint = TextRenderingHint.AntiAlias

g.Clear(Color.White)

Dim mymat As New System.Drawing.Drawing2D.Matrix

Dim i As Integer

For i = 0 To Len(salt) - 1

mymat.Reset()

mymat.RotateAt(r.Next(-30, 0), New PointF(width * (0.12 * i), height * 0.5))

g.Transform = mymat

g.DrawString(salt.Chars(i), New Font("Comic Sans MS", 10, FontStyle.Italic), Brushes.Black, width * (0.12 * i), height * 0.5)

g.ResetTransform()

Next

bmp.Save(path, ImageFormat.Gif)

g.Dispose()

bmp.Dispose()

g.Dispose()

bmp.Dispose()

Return salt

End Function


 تابع فوق با گرفتن 3 پارامتر ورودی Path که مسیر ذخیره سازی فایل عکس است و Height و Width که طول و عرض تصویر را مشخص می کند رشته مورد نظر ما را به تصویر تبدیل می کند و در نهایت متن داخل تصویر به خروجی تابع ارسال می گردد .


برای نمایش تصویر از یک کنترل Image استفاده می کنیم ، در ساب روتین مربوط به رویداد لود صفحه تصویر تولید شده را در این کنترل نمایش می دهیم همچنین متن داخل تصویر را داخل یک Session ذخیره می کنیم .


دقت نمایید مسیری که شما تصویر را در آن ذخیره می کنید باید پرمیشن Write داشته باشد (به خصوص در هاست)




If Not Page.IsPostBack Then

Dim salt As String = CreateImage(Server.MapPath("~\Temp\random.gif"), 40, 90)

Image1.ImageUrl = "~/Temp/random.gif"

Session.Add("salt", salt)

End If


کار تمام است ، کافیست یک کنترل TextBox و یک کنترل Button قرار داده و پس از کلیک بر روی باتن مربوطه مقدار داخل TextBox را با مقدار داخل Session که همان متن اصلی داخل تصویر است مقایسه کنید :


 




Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = Session.Item("salt") Then
Response.Write("OK")
Else
Response.Write("Error")
End If
End Sub


شما می توانید فایل پروژه را از اینجا دانلود کنید


 

  KARAJWEB © 2002-2003 All right r

KARAJWEB © 2002-2009 All right reserved
 آدرس : چهار راه هفت تیر - مجتمع کیش - طبقه 4 واحد 405
Tel: 222982 - 2202068  Mobile: 09122602659 - 09356489048     
E-mail: info@karajweb.com