Bagaimana saya bisa memblokir orang yang kejam yang terus-menerus mencoba mendaftarkan lebih banyak akun?

41

Saya memiliki situs gratis dengan pendaftaran terbuka; siapa pun dapat mendaftar dan saya tidak dapat mengubahnya. Namun, akun harus disetujui oleh administrator setelah menyelesaikan profil, jadi saya memiliki akses ke berbagai info untuk mengidentifikasi pengguna duplikat (tanggal lahir, komentar "pengenalan diri", alamat email, foto, lokasi yang dilaporkan di profil, IP geolokasi , Alamat IP, dll.)

Baru-baru ini situs tersebut menjadi sasaran serangan dari satu pengguna yang sangat kasar dan tampaknya memiliki waktu tidak terbatas untuk mendaftarkan banyak akun. Akun ini dapat diblokir relatif mudah, tetapi banyak pekerjaan untuk administrator (saya) dan saya khawatir saya akan kehilangan satu di antara akun yang sah (pengguna ini mendaftar sekitar 6 akun per hari).

Aku sudah:

  • melarang alamat IP pengguna yang diketahui
  • pendaftaran yang diblokir dari domain dikenal yang digunakan untuk alamat email "sekali pakai"
  • menambahkan tampilan khusus untuk membantu saya mengidentifikasi akun berdasarkan pola akses yang diketahui dari pengguna

Apakah ada yang bisa saya lakukan dengan cookie, dll. Untuk membuatnya semakin sulit bagi pengguna ini untuk mendaftar?

Ini adalah situs Drupal 7.

EDIT: Dalam kasus saya, ini adalah pengguna manusia, bukan bot. Tetapi jawaban bot berguna bagi mereka yang secara khusus menjadi sasaran spammer.

Patrick Kenny
sumber
Satu-satunya hal yang dapat saya pikirkan adalah captcha menjengkelkan yang benar-benar sulit dibaca, karena beberapa huruf / angka menurut Anda bisa dua hal, dan Anda harus mencoba sebanyak 5 kali untuk menebaknya dengan benar. Di sisi negatif, Anda akan mengganggu orang lain, lol.
No Sssweat
13
drupal.org/project/misery jika semuanya gagal.
Niall Murphy
7
Sebenarnya dua solusi pertama yang Anda gunakan adalah ide yang sangat buruk. Alamat IP sangat tidak memadai untuk mengidentifikasi secara unik bahkan seluruh jaringan, apalagi komputer tertentu, dan apalagi pengguna tertentu! Sama sekali tidak umum untuk memiliki pengguna berbagi perangkat dengan banyak pengguna lain, di mana perangkat itu ada di jaringan dengan banyak perangkat lain semuanya berbagi alamat IP tunggal, yang secara teratur dialokasikan kembali oleh penyedia layanan, kepada pelanggan yang berbeda. Melarang seluruh rangkaian nama domain email bahkan lebih buruk. Anda berisiko nyata memblokir pengguna yang sah.
JBentley
3
Saat mencoba saran dalam jawaban saya sarankan untuk tidak membuat kehidupan pengguna yang baik Anda kurang menyenangkan demi menghukum pengguna yang buruk. Jika Anda melakukan ini, pengguna jahat telah menang dan Anda berisiko kehilangan pengguna baik.
rooby

Jawaban:

51

Alih-alih mencoba mencegah pengguna dari mendaftar, yang merupakan permainan untuk para troll dan peretas, buat situs itu menyebalkan baginya. Buat dia ingin pergi , sebagai lawan untuk membuatnya ingin memenangkan permainan troll .

Apa yang saya lakukan di masa lalu, tidak khusus untuk Drupal, adalah membiarkan pengguna mendaftar. Saya kemudian menyabotase akun spesifiknya:

  1. Saya menaburkan if ($someuser) { sleep(rand($base, $base*2)) }kode, di mana $baseakan meningkat setiap hari. Saya memastikan bahwa dia memiliki banyak waktu tunggu.
  2. Saya akan menjatuhkan N% dari posnya, di mana N mulai di atas 50% dan hanya meningkat dari sana. Jika posting memiliki kata kunci tertentu, itu akan segera dijatuhkan.
  3. Saya akan secara acak menjatuhkan aturan CSS sehingga halaman akan ditampilkan dengan buruk. Sekali lagi, tingkat keparahan akan meningkat seiring waktu.

Ini membutuhkan lebih banyak upaya di pihak saya, tetapi sesuai saran Sun Tzu saya mengkondisikan pengguna untuk membenci situs saya . Saya ingin dia tidak merasa bahwa dia mengganggu kami, tetapi dia seharusnya terganggu oleh keterlambatan dan bug yang jelas. Butuh waktu kurang dari seminggu baginya untuk menyerah pada kita.

EDIT : Dalam komentar, pengguna rooby menyebutkan modul Misery yang didasarkan pada konsep yang sama:

  1. Delay : Membuat penundaan panjang acak, memberikan tampilan koneksi yang lambat. (secara default ini terjadi 40% dari waktu)
  2. Layar putih : Hadirkan pengguna dengan layar putih. (secara default ini terjadi 10% dari waktu)
  3. Halaman yang salah: Redirect ke URL acak dalam daftar yang telah ditentukan. (secara default ini terjadi 0% dari waktu)
  4. Node acak : Mengarahkan kembali ke simpul acak yang dapat diakses oleh pengguna. (secara default ini terjadi 10% dari waktu)
  5. 403 Akses Ditolak : Hadir pengguna dengan kesalahan "Akses Ditolak". (secara default ini terjadi 10% dari waktu)
  6. 404 Tidak Ditemukan : Hadir pengguna dengan kesalahan "Tidak Ditemukan". (secara default ini terjadi 10% dari waktu)
  7. Formulir tidak mengirimkan : Redirect kembali ke formulir selama validasi untuk mencegah pengiriman. (secara default ini terjadi 60% dari waktu) Catatan: Kadang-kadang formulir tertentu memvalidasi berdasarkan tombol mana yang ditekan, ini tidak akan berfungsi dalam kasus-kasus itu.
  8. Crash IE6 : Jika pengguna menggunakan Internet Explorer 6, ini akan membuat browser mereka mogok. (secara default ini terjadi 0% dari waktu)
  9. Spam : Ganti konten simpul dengan kata yang ditetapkan. (secara default ini terjadi 10% dari waktu)
  10. Logout : Logout pengguna. (secara default ini terjadi 10% dari waktu)
dotancohen
sumber
8
Saya pikir ini hebat dalam teori, tetapi pemikiran hardcoding $someusersetiap kali mereka membuat akun baru membuat saya ngeri. Tetap saja, ide yang bagus. Mungkin hanya menambahkan bidang di tabel akun, seperti trollkolom. Jika 1, perubahan akan berpengaruh. Kemudian tambahkan antarmuka sederhana untuk menandai seseorang sebagai troll. Setidaknya dengan cara itu sedikit lebih mudah daripada melakukan hard-coding nama pengguna / id pengguna / email / dll. setiap kali mereka mendaftar di bawah akun baru. Namun, yakinkan hal ini.
Nate I
5
@NateI Anda bisa membuatnya dapat digunakan kembali. if (hellbannedUsers.contains($someuser))adalah langkah yang lebih baik. Saya hanya tidak suka berapa banyak logika homebrewed ini di tempat pertama, tetapi setidaknya bisa dibuat dapat digunakan kembali.
djechlin
3
@djechlin Tentu saja dapat dibuat kembali, maka komentar saya sendiri tentang mengambilnya selangkah lebih maju dengan tabel di DB.
Nate I
3
Anda mungkin tertarik pada modul kesengsaraan untuk menghemat beberapa kode.
rooby
7
Jawaban yang bagus Varian dalam hal ini adalah membiarkan troll memposting, dan menunjukkan posting ke pengguna itu, tetapi menyembunyikannya untuk semua pengguna lain.
zelanix
30

Kirim email ke ISP The Abuser - Mereka Akan Menghentikannya!

Anda memiliki catatan waktu pembuatan akunnya, dan alamat IP yang digunakan untuk mendaftar, bukan? Anda juga memiliki catatan semua komentarnya yang melecehkan? Kirim log ini ke ISP mereka .

Anda dapat menemukan ISP dengan melakukan pencarian IP baik secara langsung dengan ARIN di https://whois.arin.net/ui atau layanan lain yang hanya menggunakannya untuk whois. Sebagian besar pengguna akan memiliki ISP yang sebenarnya muncul untuk pemilik IP, tetapi beberapa (perusahaan besar biasanya) akan memiliki IP sendiri. Apa pun itu, Anda akan mengetahui siapa pemilik IP tersebut, dan dari sana Anda dapat mencarinya dan mendapatkan alamat email penyalahgunaan (kadang-kadang mereka memasukkan alamat email penyalahgunaan yang sebenarnya dalam informasi WHOIS, yang hebat) untuk dikirim email Anda ke. Bersikap baik dan sopan dengan ISP. Jangan menulis novel epik - sederhanakan. Sesuatu seperti, "IP ini telah mengganggu diri saya dan pengguna situs web saya, silakan lihat log" sudah cukup. Mereka melihat ribuan ini sehari, mereka tidak ingin membaca cerita sedih.

Saya pernah menjadi Network Engineer di ISP. Kami menerima laporan pelecehan yang tak terhitung jumlahnya untuk perilaku yang sangat baik ini. Saat pelanggan menerima panggilan telepon, mereka berhenti sekitar 90% dari waktu. Jika ini terus berlanjut, tindakan hukum dapat terjadi yang berarti sebagian besar ISP mengambil tindakan yang sangat serius.

Aggressor Anda mungkin adalah anak yang tinggal di rumah bersama orang tuanya , yang berarti ketika akun internet orangtuanya terancam dihentikan, mereka akan sangat kesal dengan perilakunya.

Saya pribadi mengambil rute ini dan itu berhasil, bahkan jika agresornya tidak ada di negara Anda. ISP TIDAK ramah terhadap pengguna yang melecehkan jaringan mereka.

Catatan Samping

Ada kemungkinan dia menggunakan Proxy. Namun, sangat tidak mungkin dia menggunakan proksi pada saat pendaftaran awal kecuali dia sepenuhnya bermaksud (sejak saat dia mendaftar) untuk melakukan troll di situs web anda. Jika tidak ada IP yang benar-benar menunjuk ke ISP yang sah tempat Anda benar-benar dapat mengirim email penyalahgunaan, coba kirimkan ke layanan Proxy apa pun yang ia gunakan.

Orang-orang memiliki ide gila ini bahwa hanya karena seseorang menggunakan Proxy, mereka tidak dapat terdeteksi. Itu salah. Layanan proxy biasanya mengikuti aturan yang sama dengan yang dilakukan orang lain (tentu saja ada pengecualian). Ketika mereka mendapatkan laporan penyalahgunaan, mereka membereskannya seperti halnya ISP.

Pada kesempatan yang sangat kecil bahwa pengguna ini berada di belakang Proxy yang tidak bermain bagus, saya akan mengikuti saran dari penjawab lain. Namun serius, itu sangat jarang sehingga sebagian besar pemilik situs web tidak akan pernah melihat serangan dari seseorang yang tampaknya "tidak terdeteksi".

Nate I
sumber
2
Ini adalah satu-satunya solusi aktual . Segala sesuatu yang telah diusulkan tampaknya merupakan solusi, bukan solusi.
CVn
Tor juga bisa menjadi masalah dalam hal ini, tetapi jika Anda benar-benar mengalami masalah dengan ini, selalu ada opsi untuk memblokir lalu lintas yang berasal dari node keluar Tor saja . (Yang terakhir menjaga kerusakan jaminan minimum.)
CVn
Bisakah Anda memberi saya gambaran berapa lama proses ini berlangsung? Saya mengirim informasi dalam 10 hari yang lalu dan saya belum mendapatkan tanggapan dalam bentuk apa pun, bahkan pengakuan atas laporan saya.
Patrick Kenny
Saya belum pernah menerima respons yang sebenarnya. Satu-satunya hal yang pernah saya saksikan dari tindakan ini adalah orang tersebut hanya menghentikan apa yang mereka lakukan. Apakah orang tersebut masih mengganggu Anda dan pengguna situs web Anda?
Nate I
17

Pada pertanyaan Anda, Anda tidak menyebutkan memiliki Captcha. Mungkin, pengguna yang tidak tahu apa-apa ini adalah bot? Dugaan saya adalah bahwa Anda sudah memiliki captcha dan pengguna itu sebenarnya manusia.

Tapi ... jika bukan itu masalahnya, saya akan merekomendasikan:

reCAPTCHA

Menggunakan layanan web Google reCAPTCHA untuk meningkatkan sistem CAPTCHA dan melindungi alamat email.

masukkan deskripsi gambar di sini

Tidak ada Sssweat
sumber
9

Hellban / shadowban

Karena memblokir seseorang dari membuat akun baru untuk menggantikan akun yang diblokir hampir tidak mungkin, solusi yang agak populer untuk masalah ini adalah apa yang disebut hellban ( http://www.urbandictionary.com/define.php?term=hellban ) atau shadowban , tempat Anda menerapkan fitur yang mengisolasi akun tertentu dari orang lain tanpa membuatnya jelas bahwa mereka telah diblokir.

Sebagai contoh, Anda akan memastikan bahwa mereka merasa bahwa pengalaman mereka adalah asli dan mereka dapat tetap menggunakan akun yang sama, tetapi membuat ketentuan bahwa setiap posting atau kegiatan mereka hanya dapat dilihat oleh akun yang diblokir dan akun apa pun (atau tidak login) dalam situasi) yang membagikan IP dan / atau cookie dengan akun hellbanned. Jika pengguna terus melakukan troll tetapi tidak mendapat respons, maka mereka akan pergi.

Peter adalah
sumber
Bagaimana cara mengimplementasikannya di Drupal 7?
reinierpost
1
@reinierpost - Cave adalah salah satu opsi untuk mengimplementasikan ini
BryanH
7

Atas saran No Sssweat, saya menempatkan ini sebagai jawaban dan bukan komentar sehingga lebih banyak orang melihatnya.

Drupal.org/project/misery melakukan pekerjaan yang cukup baik untuk mengganggu omong kosong pengguna dengan sekitar delapan metode berbeda. Batas waktu acak, keluar, pengalihan acak dll. Dan frekuensinya dapat diubah.

Versi mudah dari dotancohen yang bagus menulis hingga masalah.

Niall Murphy
sumber
6

Bagaimana kalau menggunakan faktor kedua? Dalam pendaftaran Anda, misalkan Anda akan mengirim SMS ke telepon mereka atau email dan meminta mereka mengonfirmasi pendaftaran mereka dengan mengklik tautan dan mengirimkan kembali info tersebut. Anda akan memperoleh pengidentifikasi spoof yang lebih sulit daripada alamat IP dan mungkin lebih mudah menyaringnya dengan cara itu. Jelas akan membutuhkan sejumlah kecil skrip ...

Blackbeagle
sumber
5

Ini sebenarnya tidak mungkin.

Anda tidak dapat menghentikan seseorang untuk mendaftar lagi dan lagi. Satu-satunya hal yang dapat Anda lakukan adalah mengeraskan proses registrasi dan mengecek ID identitas mereka (melalui alamat email dan akun google dan akun facebook dan akun LinkedIn dan nomor telepon, dan sebagainya) dan menghubungkan setiap orang dengan ID spesifik yang mengumpulkan semua detail ini.

Orang tertentu dapat memilih jaringan lain melalui proxy web, membuat banyak email, membuka beberapa akun facebook / google / LinkedIn dan sebagainya, tetapi Anda tidak akan pernah bisa menghentikan orang ini untuk mendaftar lagi (kecuali Anda memeriksa DNA-nya).

Satu-satunya pilihan Anda adalah mengeraskan proses pendaftaran.

Auzias
sumber
2
Seperti yang saya katakan, minta pengguna baru Anda di masa depan untuk mengikat akun mereka dengan akun facebook unik dan akun google unik dan akun LinkedIn unik dan nomor telepon unik tempat Anda mengirim SMS. Anda berada dalam posisi yang sangat baik! Anda tidak dapat, tanpa sarana yang sangat mahal , memastikan bahwa pengguna hanya mendaftar sekali. Selain itu, satu-satunya cara yang dapat Anda gunakan akan mengganggu pengguna masa depan Anda (yang bersedia mengikat akun ggl / SO / fb / LinkedIn / GH + mengirim ID mereka melalui pos, hanya untuk membuat akun baru?)
Auzias
11
Ini juga cara cepat untuk mengurangi jumlah pengguna asli Anda juga.
Tom.Bowen89
3
Anda berpendapat bahwa itu tidak mungkin dalam kasus terburuk , yaitu jika agen intelijen canggih dengan miliaran dolar keluar untuk mendapatkan Anda. Ada peluang yang sangat bagus yang dihadapi OP seperti anak berusia 11 tahun yang nakal di suatu tempat. Jadi jawaban Anda sedikit tidak praktis, dan IMO menyesatkan.
djechlin
2
Jawaban Anda bertentangan dengan dirinya sendiri. Dikatakan Anda tidak bisa, maka satu-satunya cara Anda bisa adalah dengan memperkeras proses pendaftaran, yang sebenarnya belum tentu menyelesaikan masalah dan juga bukan satu-satunya solusi potensial.
rooby
1
Saya tahu;) atau tidak punya google, atau LinkedIn
Auzias
4

Seperti yang disarankan oleh No Sssweat, Anda dapat menggunakan reCAPTCHA. Tetapi jika Anda tidak ingin mengganggu pengguna yang sah, maka Anda dapat mencoba modul Honeypot . Ini memberikan opsi memiliki bidang tambahan yang tidak boleh diisi (bot AFAIK dapat mengisi semua bidang) atau memiliki batasan waktu.

Dokumentasi berbunyi sebagai,

Honeypot menggunakan metode honeypot dan stempel waktu untuk mencegah bot spam dari mengisi formulir di situs Drupal Anda (baca lebih lanjut di sini). Metode ini efektif terhadap banyak bot spam, dan tidak mengganggu seperti CAPTCHA atau metode lain yang menghukum pengguna [YouTube].

Pilihan lain adalah modul Spambot , ini mencegah spam dengan memverifikasi upaya pendaftaran terhadap Stop Forum Spam.

Spambot melindungi formulir pendaftaran pengguna dari spammer dan spambot dengan memverifikasi upaya pendaftaran terhadap basis data online Stop Forum Spam (www.stopforumspam.com). Itu juga menambahkan beberapa fitur berguna untuk membantu menangani akun spam.

Suresh R
sumber
3
Itu bekerja untuk robot spam, bukan untuk manusia.
user253751
3

Ada jawaban untuk pertanyaan - meskipun komunitas mungkin merasa ofensif ini. Saya tidak tahu mengapa, menghemat biaya, bahwa jalan belum diambil lebih sering.

Kirim surat gencatan dan tangkal kepada orang yang melakukan pelanggaran di situs Anda, dan siapa yang melanggar Judul XVIII Kode AS, Merusak Komputer, Penipuan, dan Penyalahgunaan.

Jika mereka tidak berhenti, pony uang tunai dan menuntut. Pada pertengahan 1990-an saya memiliki kasus pertama di WDMO di mana satu-satunya ISP untuk wilayah Kansas City diretas oleh 3 remaja. Saya menghubungi keluarga (mereka telah melakukan root pada salah satu server dan cukup bodoh untuk menyimpan aplikasi mereka untuk bergabung dengan kelompok "Warez" dengan nama dan alamat asli mereka di subdirektori tersembunyi) dan meminta mereka untuk menghentikan remaja laki-laki melakukan hal ini. Mereka menolak.

Dalam keluhan 54 halaman saya harus menjelaskan: ISP, Internet, melebihi akses, dll untuk hakim yang baru ditunjuk.

Saya lebih dari seorang advokat, akun saya telah diakses (terima kasih Tuhan, bukan akun klien - Daftar Karat) dan saya teringat. Saya menuduh orang tua (satu-satunya cara untuk pergi ke mana terdakwa adalah anak di bawah umur dalam aksi sipil) dan menyatakan bahwa orang tua telah menempatkan perangkat berbahaya ke tangan anak di bawah umur tanpa pengawasan yang memadai dan bahwa anak di bawah umur telah terlibat dalam transfer perangkat lunak curian, dan kiddie porn (Yap, anak laki-laki berusia 16 tahun mengambil foto GF 16 tahun mereka adalah "kiddie porn"). Saya mematuhi kebijakan pemilik rumah dan saya memiliki obat yang pengadilan tidak akan mempertimbangkan: larangan seumur hidup pada penggunaan komputer untuk para remaja.

Itu diselesaikan dalam waktu satu minggu dari transfer penemuan.

Anda telah mencoba yang lain: palu omong kosong kecil ini dengan dompetektomi. Berhati-hatilah untuk memilih seorang pengacara yang tahu apa ini dan bukan yang terkait dengan "perusahaan besar" di mana Anda akan ditagih sampai mati.

Pertimbangkan bagaimana perintah pengadilan yang mencegah si brengsek mengakses situs Anda mungkin berhasil: S / Dia dicekal - Anda menemukan alamat IP-nya yang melanggar Perintah Pengadilan - kirimkan ke pengacara Anda dan dia mengajukan mosi dengan Pengadilan yang memperlihatkan pelanggaran terhadap Ordo dan Pengadilan akan menanggapi dengan Perintah Penyebab Penyebab mengapa terdakwa tidak boleh ditahan dengan cara menghina pengadilan.

Serangan dari situs lain / alamat IP mulai masuk - beri tahu penasihat hukum Anda - dan jawabannya dapat mencakup mirroring komputer terdakwa, perintah yang menghentikan terdakwa dari semua akses ke Internet, dan, setelah menemukan bahwa terdakwa melanggar pesanan dengan proxy , Pengadilan akan menjatuhkan sanksi.

Pada akhirnya, si brengsek itu mungkin telah membatasi dirinya untuk selamanya diblokir dari Internet. Jika Anda benar-benar kesal setelah semua ini dan Anda ingin memastikan bahwa terdakwa keluar dari Internet, menyewa PI untuk mengikuti terdakwa selama seminggu atau sepuluh hari (tidak murah) dan jika dia mengakses Internet dari Starbucks - atau McD, Anda memilikinya: kembali ke hakim.

Perintah utama tidak dapat dipercaya dan hanya akan terjadi dengan bukti kuat bahwa terdakwa secara rutin melanggar perintah pengadilan: tidak ada ponsel pintar, tidak ada VOIP, tidak ada TV kabel atau TV sat (Internet tersedia dan dia telah menunjukkan pengabaian total untuk hukum, sehingga tidak ada yang dapat diretas untuk mendapatkan akses yang diizinkan), tidak ada Internet (alangkah baiknya jika itu adalah larangan seumur hidup - kemungkinan tidak), tidak ada internet, dan akhirnya, tidak ada perangkat komputasi.

Jika terdakwa mencari nafkah di sektor teknologi - mereka memiliki parit untuk menggali dan burger untuk membalik.

Begitulah cara mengakhirinya dengan opsi nuklir.

George R. O'Connor
sumber
@ Pierre.Vriens Ini adalah informasi menarik dalam kasus apa pun, dan sementara saya di Tokyo, perusahaan saya di AS, seperti halnya pengguna yang menyalahgunakan.
Patrick Kenny
OK, maaf untuk komentar saya dulu (Saya sudah menghapus komentar saya sebelumnya barusan saja) ... Saya melihat itu dengan EUR-kacamata ...
Pierre.Vriens
2

Saya suka model kesengsaraan, tetapi saya akan menambahkan untuk mengirimnya secara acak ke halaman dengan pesan-pesan menjengkelkan yang sangat keras dan kadang-kadang mengirimnya ke situs porno yang sangat buruk. Apa pun yang mungkin membuatnya bermasalah atau malu jika dia di depan umum.

jerry
sumber
1
Saat putus asa membutuhkan langkah-langkah putus asa, ini akan sangat menjengkelkan. Saya mungkin menambahkan mengarahkannya ke Rick Roll, lol.
No Sssweat
1
Itu akan memberi tahu bahwa dia diblokir
Ángel
2

Saya telah menulis modul khusus untuk situasi seperti ini. Ini disebut Spaces Enforced dan dapat ditemukan di sini , dan berfungsi dengan memblokir orang yang mendaftar yang namanya tidak mengandung setidaknya 1 spasi. Ini dapat dikonfigurasi lebih lanjut dan Anda dapat memilih karakter apa yang perlu muncul berapa kali. Ini juga memiliki tingkat suksesi mendekati 100%

Kartagis
sumber