Bir cevabı kabul ettim, ama ne yazık ki, en kötü durum senaryomuzla sıkıştığımıza inanıyorum: CAPTCHA bok satın alma girişimlerinde herkes . Kısa açıklama: önbellek / web çiftlikleri, isabetlerin izlenmesini imkansız hale getirir ve herhangi bir geçici çözüm (önbelleğe alınmamış bir web işaretçisi gönderme, birleştirilmiş bir tabloya yazma vb.) Siteyi botlardan daha kötü bir şekilde yavaşlatır. Cisco veya benzerlerinden yüksek düzeyde yardımcı olabilecek bazı pahalı donanımlar vardır, ancak CAPTCHA-ing herkes bir alternatifse maliyeti haklı çıkarmak zordur. Daha sonra daha tam bir açıklama yapmaya çalışacağım ve bunu gelecekteki araştırmacılar için temizleyeceğim (diğerleri topluluk wiki olduğu için denemek için bekliyoruz).
Durum
Bu woot.com'daki çanta satışları hakkında. Tasarım yapan Woot'un iştiraki Woot Workshop'un başkanıyım, ürün açıklamalarını, podcast'leri, blog yayınlarını yazıyor ve forumları yönetiyor. CSS / HTML ile çalışıyorum ve diğer teknolojilere çok az aşinayım. Geliştiricilerle yakın çalışıyorum ve buradaki tüm cevapları (ve sahip olduğumuz birçok fikri) konuştum.
Kullanılabilirlik işimin büyük bir parçası ve siteyi heyecan verici ve eğlenceli hale getirmek geri kalanların çoğu. Aşağıdaki üç hedef bu noktada ortaya çıkar. CAPTCHA kullanılabilirliğe zarar verir ve botlar saçmalık satışlarımızın eğlencesini ve heyecanını çalar.
Botlar, Rastgele Crap satışı için ön sayfamızı on kez ikinci bir ekran kazıma (ve / veya RSS'mizi tarama) çarpıyor. Bunu gördükleri anda, oturum açan programın ikinci bir aşamasını tetikler, Birini istiyorum'a tıklar, formu doldurur ve bok satın alır.
Değerlendirme
lc : Stackoverflow ve bu yöntemi kullanan diğer sitelerde, neredeyse her zaman kimliği doğrulanmış (oturum açmış) kullanıcılarla ilgilenirler, çünkü denenmekte olan görev bunu gerektirir.
Woot'ta anonim (oturum açmamış) kullanıcılar ana sayfamızı görüntüleyebilir. Başka bir deyişle, çarpma botları kimlik doğrulaması yapılmayabilir (ve IP adresi dışında esasen izlenemez).
Bu yüzden, a) bu bulut ağı ve spambot zombi çağında oldukça işe yaramaz olan IP'leri taramaya geri dönüyoruz ve b) bir IP adresinden gelen iş sayısı göz önüne alındığında (sorunlardan bahsetmiyorum) statik olmayan IP İSS'leri ve bunu izlemeye çalışmak için olası performans isabetleri).
Oh, ve insanların bizi aramasını sağlamak en kötü senaryo olurdu. Sizi aramasını sağlayabilir miyiz?
BradC : Ned Batchelder'in yöntemleri oldukça havalı görünüyor, ancak bir site ağı için inşa edilen botları yenmek için oldukça sıkı bir şekilde tasarlanmışlar. Bizim sorunumuz botların sitemizi yenmek için özel olarak inşa edilmiş olmasıdır. Bu yöntemlerden bazıları, betikler, bal küpünü göz ardı etmek, form kimlikleri yerine yakındaki etiket adları için ekran kazıma yapmak ve javascript özellikli bir tarayıcı kontrolü kullanmak için botlarını geliştirene kadar kısa bir süre çalışabilir.
lc tekrar : "Elbette, hype pazarlama planınızın bir parçası değilse." Evet, kesinlikle öyle. Maddenin göründüğü zamanki sürpriz ve bir tane almayı başarabilirseniz, muhtemelen elde ettiğiniz saçmalıktan çok veya daha önemli. İlk gelen / ilk servisi ortadan kaldıran her şey, saçmalık 'kazanma' heyecanı için zararlıdır.
novatrust : Ve ben, birincisi, yeni bot kardeşlerimize hoş geldiniz. Aslında, üçüncü taraf uygulamalarının sitemizi ürün bilgileri için taramasına izin vermek için RSS beslemeleri sunuyoruz, ancak ana site HTML'sinin önünde değil. Eğer doğru şekilde yorumluyorsam, çözümünüz hedef 1'i tamamen feda ederek ve sadece botların saçmalıkların çoğunu satın alacağı gerçeğinden istifa ederek hedef 2'ye (performans sorunları) yardımcı olur. Cevabınızı oyladım, çünkü son paragraf karamsarlığınız bana doğru geliyor. Burada gümüş kurşun yok gibi görünüyor.
Yanıtların geri kalanı genellikle, hem işe yaramaz (botnet / zombiler / bulut ağları ile) hem de zararlı (aynı IP hedeflerinden gelen birçok masumu yakalar) gibi görünen IP izlemeye dayanır.
Başka yaklaşımlar / fikirler var mı? Geliştiricilerim "hadi sadece CAPTCHA yapalım" demeye devam etseler de, umarım tüm gerçek insanlara saçmalıklarımızı isteyen daha az müdahaleci yöntemler vardır.
Orijinal soru
Diyelim ki çok yüksek algılanan değeri olan ucuz bir şey satıyorsunuz ve çok sınırlı bir miktarınız var. Bu ürünü ne zaman satacağınızı kimse bilmiyor. Ve ne sattığınızı görmek için düzenli olarak bir milyondan fazla insan geliyor.
Sonunda, söz konusu ürünü satarken programlı olarak [a] anlamaya çalışan betikler ve botlarla karşılaşırsınız ve [b] ilk satın alanlardan olduklarından emin olun. Bu iki nedenden dolayı berbat:
- Siteniz insan olmayanlar tarafından çarpılarak herkes için her şeyi yavaşlatıyor.
- Senaryo yazarları ürünü 'kazanır' ve bu da normalin aldatılmasına neden olur.
Görünüşte bariz bir çözüm, kullanıcıların sipariş vermeden önce atlaması için bazı çemberler oluşturmaktır, ancak bununla ilgili en az üç sorun vardır:
- Kullanıcı deneyimi, CAPTCHA'yı deşifre etmek, kediyi seçmek veya bir matematik problemini çözmek zorunda olduğu için insanlar için berbat.
- Algılanan fayda yeterince yüksekse ve kalabalık yeterince büyükse, bir grup herhangi bir tweak çevresinde yol bularak silahlanma yarışına yol açar. (Bu özellikle daha basit olan doğrudur; gizli 'yorumlar' formu, form öğelerini yeniden düzenleme, yanlış etiketleme, gizli 'gotcha' metni bir kez çalışacak ve daha sonra bu belirli formu hedeflemek için değiştirilmeleri gerekiyor .)
- Scriptler tweak'ınızı 'çözemez' olsa bile, ön sayfanızı çarpmalarını ve ardından script'in siparişi manuel olarak doldurması için bir alarm çalmasını engellemez. [A] çözmekten avantaj elde ettikleri göz önüne alındığında, sipariş sayfasına ulaşan ilk insanlar olacağından muhtemelen [b] kazanacaklardır. Ayrıca, 1. yine de, sunucu hatalarına ve herkes için düşük performansa neden olur.
Başka bir çözüm, IP'lerin çok sık vurmasını izlemek, güvenlik duvarından engellemek veya başka şekilde sipariş vermelerini önlemek. Bu 2. çözebilir ve [b] önleyebilir, ancak IP'leri taramaktan kaynaklanan performans çok büyüktür ve büyük olasılıkla 1. betiklerin kendi başlarına neden olduğundan daha fazla soruna neden olur. Ayrıca, bulut ağı ve spambot zombileri olasılığı IP kontrolünü oldukça işe yaramaz hale getirir.
Sipariş formunun bir süre yüklenmesini zorunlu kılan üçüncü bir fikir (örneğin, yarım saniye) hızlı siparişlerin ilerlemesini potansiyel olarak yavaşlatacaktır, ancak yine de, betikler hala zarar vermeyen herhangi bir hızda ilk insanlar olacaktır. gerçek kullanıcılar.
Hedefler
- Öğeyi komut dosyası olmayan insanlara satmak.
- Sitenin botlar tarafından yavaşlatılmayan bir hızda çalışmasını sağlayın.
- 'Normal' kullanıcıları, insan olduklarını kanıtlamak için herhangi bir görevle uğraşmayın.