2011-03-15 25 views
26

Raylarda çok sayıda captcha eklentisi ve ayrıca spam ve sel engelleme için birçok çözüm bulunmaktadır. Yani sadece Rails soru değil. raylar - Captcha eklentisini seçme

Elimizde ne eklentileri türleri görelim

:

1. Klasik görüntü kaptan (zendesk's Captcha, Simple_captcha, Validates_captcha, winton's Captcha, Raptcha).

pozitif:

  • Simple_captcha konusunda emin (otomatik decrypt önlemek için etkili olabilir, ancak bunların önceden oluşturulan görüntüleri kullandıkça hem Zendesk en ve Winton en captcha'lar (ki başarmak yok gibi görünüyor Can istek üzerine), bu nedenle olası spam botlarımız bu resimlerden öğrenilebilir).

    • DB tablo gerektir (. En az Basit Captcha kadar kötü değil, ama onlar kullanımdan sonra temizleyin mı?):

    negatif .

  • RMagick veya benzeri (Sitemde zaten var olduğu gibi benim için geçerli değil).
  • El ile şifre çözme başarısız (bildiğim gibi 2/1000 görüntü).
  • Kullanıcıları rahatsız eder ve dönüşüm oranlarını bozabilir.

2. ReCaptcha (Recaptcha Raf recaptcha).

pozitif:

  • otomatik decrypt önlemek için etkili olabilir.
  • Rmagick ve DB tablosu gerektirmez. Negatif

: 3. taraf sitesine

  • Yap api-çağrılar.
  • El ile şifresini çözün.
  • Daha öncekinden daha fazla sinir bozucu.

3. Bal tencere (Negatif-kaptan, Trap_door, Reverse_captcha, Bal-kaptan, Bouncy_bots, invisible_captcha). Pozitif

:

  • Kullanıcı Captcha varlığında N bilmiyor.
  • Rmagick ve DB tablosu gerektirmez.Negatif

:

  • otomatik decrypt başarısız olabilir (bu eklentileri tanıyabileceği herhangi botlar var?).
  • El ile şifresini çözün.

4. Metin bazlı (Humanizer, Brain_buster, Yakaladým). Pozitif

:

  • rmagick ve (Brain_buster hariç) DB tablo gerektirmez. Negatif

:

  • otomatik şifresini başarısız olabilir.
  • El ile şifresini çözün.
  • Biraz sinir bozucu (lokalize olabilir).

5. Diğer (Acts_as_snook)

pozitif: Captcha varlığında N bilmediği

  • Kullanıcı.
  • Rmagick ve DB tablosu gerektirmez. Negatif

: Bu çok sıradışı orada herhangi çünkü eğer

bilmiyorum. Ancak, bazı durumlarda post moderasyonunu gerektirebileceğinden, sel durumunda sorunlara neden olabileceğini düşünüyorum.

6. Akismet benzeri çözümler (verimliliklerini bilmiyorum). Pozitif

:

  • Kullanıcı Captcha varlığında N bilmiyor.
  • Rmagick ve DB tablosu gerektirmez. Negatif

: 3. taraf sitesine

  • Yap api-çağrılar.
  • Kullanıcı ayrıntılarını üçüncü taraf sitesine (çok, çok kötü) teslim edin.

Ben de sitem hakkında birkaç söz söylemek gerekir.Kullanıcılar korumalı formu sadece ajax isteğinden sonra görebilirsiniz (örneğin bir şeyi sepete koyduktan sonra). Modern botlar ajax istekleri ve çerezleri saklamak için yetenekleri var mı?

+0

üzerinde ne olduğunu görmek için her zaman iyi, ben kullanıcı kayıt formu için captcha kullanmak ister. Üretimde hangi çözüm uygulanabilir? Ben RMUick'i Heroku'da koşamam. – Myna

+0

Rayların formlarını spam'den filtrelemek için basit bir mantık kullanıyorum ve birçok üretim uygulamasında harika çalışıyor. Bu bal küpü gibi, ama biraz farklı :) Son zamanlarda bu eklentiyi gemiye [protected_form] taşıdım (https://github.com/KELiON/protected_form), bir göz atın. Geri bildirim almak harika olurdu. –

cevap

6

Flooding, spam'den farklı bir sorundur. Uygulamanıza sınırlama oranı konusunda mantığı kesinlikle oluşturmalısınız, örneğin kullanıcının son 15 dakikada 2'den fazla sipariş vermediğini kontrol etmek için bunu doğrulama yoluyla yapabilirsiniz.

Captcha'larla ilgili olarak, seçtiğiniz eklentilerin herhangi biri büyük olasılıkla büyük olacaktır. RMagick'i pozitif veya negatif olarak yüklemeyi düşünmüyordum, çalışmak gerçekten zor değil. Eğer beni seçiyor olsaydı, ilk içgüdüm recaptcha ile gitmek olurdu, hepsi en az sinir bozucu.

Spam, başka bir sorundur, genellikle captcha'nızı bypass edebilen beşeri kullanıcı tarafından girilir. Akismet spam yakalamak için harika, kesinlikle bir göz atın, recaptcha gibi bir şeyle birlikte kullanabilirsiniz.

Son olarak, modern botlar çok karmaşıktır. Herhangi birimizin beklediğinden çok daha karmaşık. Tarayıcılar tam olarak otomatikleştirebilir, captcha metnini okumak ve en karmaşık filtreleri bile atlayacak spam içerikler oluşturmak için OCR'yi kullanabilirler. Bu, "tüm spam/botları durdurma" ile ilgili değildir, bu, bariyeri, sıradan kullanıcı için buna değmeyecek kadar yüksek giriş yapmakla ilgilidir. Varolan eklentilerin iyi bir analizi.

+0

Eh, aynı zamanda kullanıcı kaydı için bu eklentilerden birini kullanacağım (e-posta bildirimleri olmadan). Bu yüzden sel önlemek için sadece IP'yi izleyebilirim. Fakat bugün görüldüğü gibi, bunu yapan birçok botnet var. Yani IP engelleme kötü bir fikir değil mi? – sunki

+0

Kullanıcılar IP'leri değiştirebilir veya bir iş ve ev bilgisayarına sahip olabilirler. – jonnii

+0

Belirli bir kullanıcı için kaydetmek yerine IP'yi bloke ediyorum. IP'ler bir süreliğine, örneğin 1 saat süreyle engellenebilir. – sunki

5

Modern botlar oldukça karmaşıktır ve geliştiricilerine çok fazla ödeme yapılır, bu nedenle her zaman en son savunmayı ele geçirmeye çalışırlar. Bu nedenle, ReCaptcha gibi aktif olarak sürdürülen ve üzerinde çalışılan bir seçenek ile sadık kalmanın iyi olduğunu düşünüyorum. Ayrıca, kullanıcıların arayüzü anladıklarını ve verilerini korumak için adımlar attığınızı bilerek kendilerini güvende hissettiklerini düşünüyorum.

Bir proje için tüm raylar captcha seçeneklerini gözden geçirmek zorunda kaldım ve müşterimin test etmesi ve denemesi için örnek bir uygulama yazdım. simple-captcha-demo.heroku.com

Kullanmak ve kurmak oldukça kolaydı ve hızlı bir şekilde ayarlanmış bir şey elde etmek için bir test yatağı olarak heroku kullanmayı ve bir müşterinin bunu test etmesini istiyorum. Ben de blogumda benim deneyim ve Sorunlar bazılarını yazdım RailsPerformance.com

yeni eklentileri, olabilir onun trend Ben Raylar uygulaması Heroku barındırdığınız www.ruby-toolbox.com

+0

Güzel tanıtım sayfası! En üstteki reCaptcha linki, dikkat etmeniz durumunda bozulur. – Clay

+0

@clay Teşekkürler. Kırık bağlantıyı tamir ettim ve tekrar yaptı, tekrar kırılmayacak. –