Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Ethem Evlice
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
2
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
imagevalidator
karakterleri
kaynak
kontrol
olurken
otomatik
resimli
sayfadaki
sayfamizda
sinifindan
sinifini
siniflari
sitelesine
sitenize
validatorlar
ASP.NET
Ethem Evlice
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
ASP.NET
Yayınlanma Tarihi
:
30.7.2004
Okunma Sayısı
:
28882
Yorum Sayısı
:
1
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
21.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
ASP.NET
/
ImageValidator Kullanarak Otomatik Kayıtları Engelleme
ImageValidator Kullanarak Otomatik Kayıtları Engelleme
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Bir web sitelesine kayıt olurken çoğu zaman karşılaştığımız bir cümle vardır: “
Lütfen resimde gördüğünüz karakterleri yandaki alana giriniz!
”. Arkasından “
Biz otomatik olarak kayıt yapan robotlardan kendimizi korumak için bu kontrolü yapıyoruz.
” diye bir cümle ile devam eder.
Bir sitemiz ve bu siteye kayıtlı yaklaşık 500 üyemiz var. Bir gün sonra veritabanımıza baktığımızda 1 milyon üyemiz olmuş. Bir günde bu kadar kişinin sitenize girip üye olduğunu gördüğünüzde büyük bir şaşkınlık yaşayacaksınız.
Bir gün uyanığın biri resimli kontrol yapmadığınız için yazdığı bir programla sitenize gerçek olmayan üye kayıtları yapabilir. Sizin de böyle bir şeyden korunmanız için “
ImageValidator
” component’ini kullanmanız gerekiyor.
Kullanımı:
Bu uygulamayı kullanmak için yapmanız gereken sadece birkaç satır koddan ibaret. Öncelikle
/bin
klasörüne
Erle.Controls.dll
dosyasını atalım ve aspx sayfamızın ilk satırına şu satırı yerleştirelim:
<
%@ Register TagPrefix="ImageCtrl" Namespace="Erle.Controls" Assembly="Erle.Controls" %>
Bu satır Erle.Controls.dll dosyasındaki Erle.Controls isim alanı içindeki sınıfları web sayfamızda <KayitAdi:Sinif> şeklinde kullanmamızı sağlar. Artık .dll içindeki tüm sınıfları kullanabileceğimize göre ilk kontrolümüzü yazalım:
<form runat="server">
<ImageCtrl:RegistrationImage Width=70 Height=20 Digits=4
ID="RegistrationImage1" ImageUrl="RegistrationImage.aspx"
Runat="server" />
Bu komut ekrana 70px genişlik, 20px yükseklik ve 4 adet rakamdan oluşan bir resim çizer. Bunun hemen yanına da ziyaretçinin gördüğü karakterleri girebileceği bir TextBox yerleştirelim:
<ASP:TextBox ID="TextBox1" Runat="server" Size=8 value="" />
Şimdi gelelim işin can alıcı noktasına. Resmi ve girilen karakteri nasıl karşılaştıracağız? Cevap çok basit: System.Web.UI.WebControls.BaseValidator sınıfından türemiş ImageValidator sınıfını kullanarak.
<ImageCtrl:ImageValidator ID="ImageValidator1"
ImageControlToValidate="RegistrationImage1"
ControlToValidate="TextBox1"
ErrorMessage="Gördüğünüz sayıları giriniz"
Display="Static" RunAt="server" />
Web sayfamızda ImageValidator sınıfını kullanıyoruz, karşılaştırılacak resim olarak ImageControlToValidate="RegistrationImage1", neyle karşılaştıracağımızı da ControlToValidate="TextBox1" parametresiyle belirtiyoruz. Kayıt sayfasına bir adet düğme koyalım ki ziyaretçinizin girdiği değeri kontrol etmek için sunucuya sayfayı gönderebilsin.
<asp:button text="Register" id="Register" onClick="Register_Click" Runat="server" />
</form>
Dikkat ederseniz düğmenin tıklanması olayı sonucu çalışan metot ismini Register_Click olarak belirttik. Metodumuz şu şekilde olacak:
void Register_Click(Object sender, EventArgs e)
{
if (Page.IsValid) // then
{ // Page.IsValid=true ise sayfadaki bütün Validatorlar
// geçerli demektir. (ImageValidator da dahil)
// BURASI COK ONEMLI
// Eger kod dogru girildiyse buraya gelir
// burada kayit islemine baslayabilirsin.
// DIKKAT:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Bu kod "Erle.Controls.KeySecretCode" adlı sessionda saklaniyor.
// Kayit islemi bittikten sonra bu kodu silebilirsiniz.
Session.Remove("Erle.Controls.KeySecretCode");
// Response.Redirect("kayitok.aspx");
}
else
{
//Gecerli sayi girilmedi ya da sayfadaki başka validatorlar denetlenemedi.
} //end if
} //end sub
Sonuç:
Bu makalede sitemizi otomatik kayıtlardan koruma yöntemlerinden biri olan resimli güvenlik hakkında bilgi vermeye ve bunu nasıl uygulayabileceğimizi anlatmaya çalıştım. Ayrıca projenin kaynak kodlarını inceleyerek web sayfalarında kullanılmak üzere BaseValidator sınıfından kendiniz de başka Validator sınıfları türetebilirsiniz.
Projenin kaynak kodunu indirmek için tıklayınız.
Makale:
ImageValidator Kullanarak Otomatik Kayıtları Engelleme ASP.NET Ethem Evlice
Yazılan Yorumlar
Yorum Yaz
NİS
18
2006
Gökhan Mutlu
/
üye hakkında
Güzel bir çalışma. Bir iki noktada hatırlatma yapmak isterim. Eğer bu şekliyele kullanılırsa imagei parseden bir uygulama ile control işlevsiz hale getirilebilir. GDI+ ile çok uğraşmadım ama resme gürültü noise ekleme veveya HatchBrush objesi ile kullanarak daha profesyonel hale getirilebilir. Bir de.. COPYRIGHT kısmındaki yazı özetle eğer güncellenirse bildirin veya güncellemelerde sorumluluk kabul etmem gibi olursa daha iyi olacağını düşünüyorum. Bu yazı olmasaydı, seni tanıyamaz ve mesaj atamazdım. Bu nedenle sen zaten bu yazı ile olayı insanlara duyurmayı hedeflemişsin...İyi çalışmalar.
Sayfalar :
1
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl