Saya telah menerima jawaban, tetapi sayangnya, saya percaya kita terjebak dengan skenario kasus terburuk kami yang asli: CAPTCHA semua orang yang mencoba membeli omong kosong . Penjelasan singkat: caching / web farms tidak memungkinkan untuk melacak hits, dan solusi apa pun (mengirim suar web tanpa cache, menulis ke tabel terpadu, dll.) Memperlambat situs lebih buruk daripada bot. Mungkin ada beberapa perangkat keras mahal dari Cisco atau sejenisnya yang dapat membantu pada tingkat tinggi, tetapi sulit untuk membenarkan biaya jika CAPTCHA semua orang adalah alternatif. Saya akan mencoba penjelasan yang lebih lengkap nanti, serta membersihkan ini untuk pencari masa depan (meskipun yang lain boleh mencoba, karena itu adalah wiki komunitas).
Situasi
Ini tentang penjualan tas sampah di woot.com. Saya adalah presiden dari Woot Workshop, anak perusahaan dari Woot yang melakukan desain, menulis deskripsi produk, podcast, posting blog, dan memoderasi forum. Saya bekerja dengan CSS / HTML dan saya hampir tidak terbiasa dengan teknologi lain. Saya bekerja sama dengan para pengembang dan telah membicarakan semua jawaban di sini (dan banyak ide lain yang kami miliki).
Kegunaan adalah bagian besar dari pekerjaan saya, dan membuat situs ini menarik dan menyenangkan adalah sebagian besar sisanya. Di situlah tiga tujuan di bawah ini berasal. CAPTCHA merusak kegunaan, dan bot mencuri kesenangan dan kegembiraan dari penjualan sampah kami.
Bot membanting halaman depan kami puluhan kali menggores layar kedua (dan / atau memindai RSS kami) untuk penjualan Random Crap. Saat mereka melihat itu, itu memicu tahap kedua dari program yang masuk, klik Saya ingin Satu, mengisi formulir, dan membeli omong kosong.
Evaluasi
lc : Pada stackoverflow dan situs lain yang menggunakan metode ini, mereka hampir selalu berurusan dengan pengguna yang terotentikasi (masuk), karena tugas yang dicoba mengharuskannya.
Pada Woot, pengguna anonim (non-log) dapat melihat halaman rumah kami. Dengan kata lain, bot slamming dapat tidak diautentikasi (dan pada dasarnya tidak dapat dilacak kecuali dengan alamat IP).
Jadi kita kembali ke pemindaian untuk IP, yang a) cukup tidak berguna di era cloud networking dan spambot zombie dan b) menangkap terlalu banyak orang tak berdosa mengingat jumlah bisnis yang berasal dari satu alamat IP (belum lagi masalah dengan ISP IP non-statis dan hit kinerja potensial untuk mencoba melacak ini).
Oh, dan meminta orang-orang menghubungi kami akan menjadi skenario yang paling buruk. Bisakah kami meminta mereka menghubungi Anda?
BradC : Metode Ned Batchelder terlihat sangat keren, tetapi mereka cukup kuat dirancang untuk mengalahkan bot yang dibangun untuk jaringan situs. Masalah kami adalah bot dibangun khusus untuk mengalahkan situs kami. Beberapa metode ini mungkin dapat bekerja untuk waktu yang singkat sampai skrip mengembangkan bot mereka untuk mengabaikan honeypot, screen-scrape untuk nama label terdekat, bukan id formulir, dan menggunakan kontrol browser yang mampu javascript.
lc lagi : "Kecuali, tentu saja, hype adalah bagian dari skema pemasaran Anda." Ya, tentu saja. Kejutan ketika barang itu muncul, serta kegembiraan jika Anda berhasil mendapatkannya mungkin sama atau lebih penting daripada omong kosong yang akhirnya Anda dapatkan. Apa pun yang menghilangkan first-come / first-serve merugikan sensasi 'memenangkan' omong kosong.
Novatrust : Dan aku, untuk satu, selamat datang tuan tuan baru kami. Kami benar-benar menawarkan Umpan RSS untuk memungkinkan aplikasi pihak ketiga memindai situs kami untuk info produk, tetapi tidak di depan HTML situs utama. Jika saya menafsirkannya dengan benar, solusi Anda memang membantu sasaran 2 (masalah kinerja) dengan sepenuhnya mengorbankan tujuan 1, dan hanya mengundurkan diri dari kenyataan bahwa bot akan membeli sebagian besar omong kosong. Saya memilih tanggapan Anda, karena pesimisme paragraf terakhir Anda terasa akurat bagi saya. Sepertinya tidak ada peluru perak di sini.
Sisa tanggapan umumnya bergantung pada pelacakan IP, yang, sekali lagi, tampaknya tidak berguna (dengan botnet / zombie / jaringan cloud) dan merugikan (menangkap banyak orang tak berdosa yang datang dari tujuan IP yang sama).
Ada pendekatan / ide lain? Pengembang saya terus mengatakan "mari kita lakukan CAPTCHA" tapi saya berharap ada metode yang kurang mengganggu untuk semua manusia yang sebenarnya ingin beberapa omong kosong kami.
Pertanyaan asli
Katakanlah Anda menjual sesuatu yang murah yang memiliki nilai persepsi yang sangat tinggi, dan Anda memiliki jumlah yang sangat terbatas. Tidak ada yang tahu persis kapan Anda akan menjual barang ini. Dan lebih dari satu juta orang secara teratur datang untuk melihat apa yang Anda jual.
Anda berakhir dengan skrip dan bot yang berupaya mencari [a] secara terprogram saat Anda menjual barang tersebut, dan [b] pastikan mereka termasuk orang pertama yang membelinya. Ini menyebalkan karena dua alasan:
- Situs Anda dibanting oleh bukan manusia, memperlambat segalanya untuk semua orang.
- Para penulis akhirnya 'memenangkan' produk, menyebabkan pelanggan tetap merasa dicurangi.
Solusi yang tampaknya jelas adalah membuat beberapa rintangan bagi pengguna Anda untuk melompati sebelum melakukan pemesanan, tetapi setidaknya ada tiga masalah dengan ini:
- Pengalaman pengguna menyebalkan bagi manusia, karena mereka harus menguraikan CAPTCHA, memilih kucing, atau memecahkan masalah matematika.
- Jika manfaat yang dirasakan cukup tinggi, dan kerumunan cukup besar, beberapa kelompok akan menemukan jalan mereka sendiri, yang mengarah ke perlombaan senjata. (Ini terutama benar, yang lebih sederhana adalah tweak; bentuk 'komentar' tersembunyi, mengatur ulang elemen bentuk, salah memberi label, teks tersembunyi 'gotcha' semua akan berfungsi satu kali dan kemudian perlu diubah untuk melawan penargetan bentuk khusus ini .)
- Bahkan jika para skrip tidak dapat 'menyelesaikan' tweak Anda, itu tidak mencegah mereka membanting halaman depan Anda, dan kemudian membunyikan alarm untuk si skrip untuk mengisi pesanan, secara manual. Mengingat mereka mendapatkan keuntungan dari penyelesaian [a], mereka kemungkinan masih akan menang [b] karena mereka akan menjadi manusia pertama yang mencapai halaman pesanan. Selain itu, 1. masih terjadi, menyebabkan kesalahan server dan penurunan kinerja untuk semua orang.
Solusi lain adalah mengawasi IP yang sering terkena, memblokirnya dari firewall, atau mencegah mereka memesan. Ini bisa menyelesaikan 2. dan mencegah [b] tetapi performa yang dihasilkan dari pemindaian untuk IP sangat besar dan kemungkinan akan menyebabkan lebih banyak masalah seperti 1. daripada yang disebabkan oleh skrip sendiri. Selain itu, kemungkinan jaringan cloud dan spambot zombie membuat pemeriksaan IP tidak berguna.
Gagasan ketiga, memaksa formulir pesanan dimuat untuk beberapa waktu (katakanlah, setengah detik) akan berpotensi memperlambat kemajuan pesanan cepat, tetapi sekali lagi, para penulis naskah akan tetap menjadi orang pertama di, dengan kecepatan apa pun yang tidak merugikan pengguna sebenarnya.
Tujuan
- Jual item ke manusia yang bukan scripting.
- Biarkan situs berjalan pada kecepatan yang tidak diperlambat oleh bot.
- Jangan ganggu para pengguna 'normal' dengan tugas yang harus diselesaikan untuk membuktikan bahwa mereka manusia.