Hesabınıza Giriş

Kullanıcı Adı
Parola
Beni Hatırla

Bir Hesap Oluştur

Yıldız (*) işaretli alanlar zorunludur.
İsim
Kullanıcı Adı
Parola
Parola Tekrarı
E-posta
E-posta Tekrarı

AYTUĞ HALİL AKAR

MÜSLÜMAN TÜRK. EHL-İ SÜNNET VEL CEMAAT

Joomla! ile reCaptcha Kullanmak

Reklamı Rapor Et

Joomla!'da reCaptcha kullanımıJoomla! ile kullanmak üzere birçok resim doğrulama uygulaması var. Joomla üye kayıt ve iletişim sayfası gibi form alanlarında bunlara ihtiyaç duyuyoruz. Kimi eski tip resim harfleri kullanırken, bir kısmı matematiksel işlemler yaptırıyor. Yeni nesil bir kısm eklenti ise resimleri doğru yerlere koymanızı isteyen kutular açıyor. Elbette en güvenlisi kabul edildiği kadar, özelleştirilebilir yapısı ile de reCaptcha dikkat çekiyor. Ne var ki reCaptcha kullanan Joomla! eklentileri aynı anda dilediğimiz her alanda çalışmıyor, birden fazla eklenti kullanılması gerekiyor. Basit bir araç ise bu sorunu ortadan kaldırıyor.

reCaptcha çok büyük bir proje. Hikayesi ise hayli ilginç. Keşifler esnasında ortaya çıkarılan yazılardan esinlenilmiş ve hatta bir çok defasında bu yazılarda çözülemeyen harflerden faydalanılmış. Böylelikle algı yoğunluğuna göre bu harflerin değerlendirilmesi, çözülmesi ya da bu şekilde kabul edilmesi hedeflenmiş. Her neyse, reCaptcha spam botlara dur diyen, özelleştirilebilir, harfleri seslendirebilen, benzerlerinden farklı olarak kendi özgün resim kütüphanesini kullanan ve iki kelime soran bir resim doğrulama motoru.

Joomla! eklentilerinde de reCaptcha çok tercih ediliyor ama her ihtiyaç duyduğumuz noktada aynı eklentinin işe yaraması mümkün olmuyor. Hem kayıt sayfasında, hem istediğimiz bir içerik içinde, hem üçüncü parti bir eklentide hem de iletişim formlarımızda reCaptcha kullanımını kararlı bir şekilde tek eklenti ile yapmak mümkün olmuyor.

Oysa JoomaEZ'in reCaptcha bütünleştiricisi bu problemi tamamen çözüyor. Forumda sorulması üzerine bunun anlatılması gerektiğini düşündüm. JoomlaEZ'in eklentisini bulana kadar bir çok eklenti kullandım. JoomlaEZ reCaptcha Integrator eklentisi ile bu konudaki tüm sıkıntımı çözmüş oldum. Eklenti hafif bir uygulama ekinden ibaret. Birkaç basit ayarını (reCaptcha anahtarlarını girmek gibi) yapıp ardından reCaptcha çağıran kodu dilediğiniz sayfaya ekliyorsunuz.

Halen bir reCaptha hesabınız yoksa http://www.google.com/recaptcha adresinden edinin. Kısa bir kayıt işlemi ile tek kayıtta tüm sitelerinizde reCaptcha gücünü kullanabilirsiniz.

 

Joomla! İletişim Sayfasında reCaptcha Kullanımı

İletişim formunda kullanmak için Joomla! dizininizdeki components/com_contact/view/tmpl/default_form.php dosyasını templates/temaniz/html/com_contact/ altına kopyalayın. Temanızda bu dizin yoksa oluşturun. Daha evvel tema umursamazlık özelliğinden birkaç kez bahsetmiştik hatılarsanız. Eklemeyi bu dosyaya yapacağız.

reCaptcha'yı varsayılan haliyle kullanmak için dosyada reCaptcha'nın gözükmesini istediğiniz yere şunu ekleyin:

 

	<?php 
global $mainframe;
$mainframe->triggerEvent('onCaptchaDisplay');
?>

 

Bu kod reCaptcha doğrulama alanını varsayılan şekliyle gösterecek. Bu da kırmızı tema demek. Oysa siz var olan diğer hazır temalarından birini kullanmayı istiyor olabilirsiniz. Mesela blackglass, temiz, beyaz gibi temaları da çok tutuluyor. Hazır temaları şu şekilde:

Red (red)(default)

reCaptcha-Red

White (white)

reCaptcha-White

Black (blackglass)

reCaptcha-Black

Clean (clean)

reCaptcha-Clean

Ayrıca varsayılan tema tabii İngilizce dilinde geliyor. Oysa reCaptcha projesi Türkçe dilini destekliyor. Basit iki düzenleme ile tema seçimi ve dil seçimi yapalım. Uygulama yapacağımız dosyayı, yani reCaptcha göstereceğimiz form sayfasını açalım. Mesela az evvel iletişim formu için ilgili dosyaya uygulamıştık, aynı dosyada devam edelim. Aşağıda vereceğim kodu <form> etiketi başlamadan öncesine yapıştırın:

 

<script type="text/javascript">
var RecaptchaOptions = {
theme : 'white',
lang : 'tr'
};
</script>

 

Burada yaptığımız şey beyaz temayı seçmek ve Türkçe arayüzü tercih etmek oldu. Temanın ismini yukarıda verdiğim parantez içinde yazanlardan seçiyoruz. Başka ayarlamalar da yapılabiliyor aslında. Bunu kullanan pek çok kimse bilmese de epeyce özelleştirme yapabilir, hatta kendi reCaptcha temamızı oluşturup kullanabiliriz. Yapabileceklerimiz hakkında projenin sayfasına bakmamız yeterli.

 

Joomla! Üye Kayıt Sayfasında reCaptcha Kullanımı

Örnek uygulama için çok lazım olabilecek diğer sayfa üye kayıt sayfası. Bunun da dosyası components/com_user/views/register/tmpl/default.php dosyasıdır. Bu dosyayı templates/temaniz/html/com_user/register/ altına kopyalayarak değişikliği üzerinde yapabilirsiniz.

 

reCaptcha Nasıl Özelleştirilir ?

http://code.google.com/intl/tr/apis/recaptcha/docs/customization.html

Yukarıdaki adreste reCaptcha apisi hakkında detaylı bilgiler ve basit özelleştirme seçenekleri bulabilir, biraz da tecrübe sahibi iseniz fazlasını yapabilirsiniz.

Uygulama örneği için bu sitenin iletişim ve kayıt sayfalarına bakabilirsiniz. Ayrıca bu konudaki sorularınız için yorum formunu kullanabilirsiniz.

Kolay gelsin.


Yorumlar   

 
akar
0 #11 akar 26-10-2010 18:07
Alıntılandı Özgün ÖZDEN:
çalışmama sorunu düzeldi, nasıl oldu anlamadım ama, daha önce çalışmıyordu sonradan çalışıverdi :-?

Evet, muhtemelen uygulama eki ayarlarında auto confirm kapalı olduğu içindi, ondan düzelmiştir. Güle güle kullanın.
 
 
Özgün ÖZDEN
0 #10 Özgün ÖZDEN 26-10-2010 17:51
çalışmama sorunu düzeldi, nasıl oldu anlamadım ama, daha önce çalışmıyordu sonradan çalışıverdi :-?
 
 
akar
0 #9 akar 26-10-2010 17:38
Alıntılandı Özgün ÖZDEN:
söylediklerinizi uyguladım, ancak kayıt formunun altında görünmesine rağmen (hemen kaydet butonunun üstü) hiç bir işlevi yok. Yani bilgileri girip doğrulama kodunu girmeden kaydet'e basınca kayıt gerçekleşiyor. Bunun sebebi ne olabilir?
Merhaba Özgün,

Eğer endmuh için diyorsanız, ben şimdi sitenizde recaptcha girmeden bir kayıt yapmaya çalıştım ama recaptcha doğru girilmediğine dair verdi.

Önbellek temizliği yaparak tekrar deneyip neticeyi yazarsanız sevinirim.
 
 
Özgün ÖZDEN
0 #8 Özgün ÖZDEN 26-10-2010 17:31
söylediklerinizi uyguladım, ancak kayıt formunun altında görünmesine rağmen (hemen kaydet butonunun üstü) hiç bir işlevi yok. Yani bilgileri girip doğrulama kodunu girmeden kaydet'e basınca kayıt gerçekleşiyor. Bunun sebebi ne olabilir?
 
 
Berhanali
+1 #7 Berhanali 18-10-2010 20:48
Tekrardan Teşekkürler.
Sorunu çözdüm. Şuan Çalışıyor.

Kolaylıklar, bol sabır ve sağlıklar dilerim.
 
 
akar
0 #6 akar 18-10-2010 20:10
Alıntılandı Berhanali:
Merhaba Aytuğ Bey,
sorunda burada başlıyor. Kodu belirttiğiniz gibi Form başlangıçından öncesine yapıştırıyorum ve her hangi bir sonuç alamıyorum.

Dosyayı size yollasam (!) veya default_form.php dosyasından hangi satırdan öncesine veya sonrasına geleceğini belirteseniz de ben uygulasam (!) olur mu?

Bilgi ve yardımlarınızdan dolayı çok teşekkürler.

Kolaylıkları ve bol sabırlar dilerim.

Dostca selamlar...
Dosyanın satır numarasına göre değil, etikete göre yerleştirme yapmanız lazım. Çünkü satır numarası bazı sürümlerde farklı olabileceği gibi, örneğin zaten kendi html dizininde bu dosyayı barındıran temalarda satır numarası elbette farklı olacaktır. Ayrıca değişikliği temanın html dizini altında değil Joomla ana dizininde yapıyorsanız ve aktif temanın html dizininde böyle bir dosya varsa, yaptığınız değişiklikler işe yaramayacaktır. Bunun için anlatımları temanız/html/ilgilibilese n/ seklinde yapıyorum.
 
 
Berhanali
0 #5 Berhanali 18-10-2010 18:35
Merhaba Aytuğ Bey,
sorunda burada başlıyor. Kodu belirttiğiniz gibi Form başlangıçından öncesine yapıştırıyorum ve her hangi bir sonuç alamıyorum.

Dosyayı size yollasam (!) veya default_form.php dosyasından hangi satırdan öncesine veya sonrasına geleceğini belirteseniz de ben uygulasam (!) olur mu?

Bilgi ve yardımlarınızdan dolayı çok teşekkürler.

Kolaylıkları ve bol sabırlar dilerim.

Dostca selamlar...
 
 
akar
0 #4 akar 17-10-2010 22:23
Alıntılandı Berhanali:
Merhabalar,
zaman ayırıpta cevap verdiğiniz için teşekkürler.

Takıldığım konu,
uygulamayı sadece İletişim bölümünde kullanmak istiyorum. Şu anda istediğim yerde, sadece Türkçeleşmesi gerekiyor. Verdiğiniz bilgileri denememde bir sonuca ulaşamadım. Umarım yardımınızla çözmüş olacağım.

Kolay gelsin.
Sağlıklı günler dilerim.

Türkçe şablon gözükmesi için verdiğim ikinci kodu uygulamanız yeterli. Orada geçen lang : 'tr' satırı bunu seçiyor. Doğru uyguamaya rağmen doğru görüntülenememe geçici bir sorun ya da bir önbellekleme hatası falan olabilir.

Ancak kod doğru uygunlanmalı.
 
 
Berhanali
+1 #3 Berhanali 17-10-2010 22:16
Merhabalar,
zaman ayırıpta cevap verdiğiniz için teşekkürler.

Takıldığım konu,
uygulamayı sadece İletişim bölümünde kullanmak istiyorum. Şu anda istediğim yerde, sadece Türkçeleşmesi gerekiyor. Verdiğiniz bilgileri denememde bir sonuca ulaşamadım. Umarım yardımınızla çözmüş olacağım.

Kolay gelsin.
Sağlıklı günler dilerim.
 
 
akar
0 #2 akar 17-10-2010 16:23
Alıntılandı Berhanali:
Merhabalar,
yukarıdaki anlatımda maalesef olumsuzlukla karşılaşmaktayım. Bilhakis Tema ve Tr Dili üzerine.

Sorun şöyle,
"Aşağıda vereceğim kodu etiketi başlamadan öncesine yapıştırın:"
Anlatımınzdan yola çıktığımızda buradaki kodunu bulamıyoruz.

Yardımınıza şimdiden teşekkürler.
Kolaylıklar dilerim.

Merhaba Berhanali,

Yukarıda verdiğim şu kod:Alıntı:
var RecaptchaOptions = { theme : 'white', lang : 'tr' };
uygulama yapılacak formun dosyasına ekleniyor. Yani diyelim ki kullanıcı kayıt formuna reCaptcha eklemek istiyorsunuz. Yapmanız gereken şey adım adım:
  • components/com_user/views/register/default.php dosyasını indirin.
  • Dosyada form başlangıç etiketini bulun ve bunun üzerine, yani öncesine verdiğin kodu girin.
  • Dosyayı kaydettikten sonra temanız/html/com_user/reg ister/default.php şeklinde kaydedin. Yani kaydettikten sonra bu dizine gönderin, dizin yoksa temanızın içinde bunu oluşturun.


Aslında ilk kodu da aynı dosyaya ekliyoruz. Ancak o kodu form öğeleri içinde tam olarak reCaptcha'nın gözükmesini istediğimiz yere koyuyoruz. Bu ikinci kod ise reCaptcha şablonunun düzeni ile ilgili.

Tam olark takıldığınız yer neresidir, yerini tarif ederek tıkandığınız noktayı ayrıca belirtirseniz belki yardımcı olabilirim.
 

Yorum ekle

Eklenen yorum Türkiye Cumhuriyeti yasalarına ve toplumun genel ahlak değerlerine aykırı olmamalıdır.
Yorum yazabilmek için üye girişi yapmalı ya da yeni bir üye hesabı açmalısınız. Üye girişi yapmayanların yorumlarında bazı özellikler kısıtlanmıştır ve onaylanmadan yayına girmez.

Güvenlik kodu
Yenile