Menggunakan login untuk mencegah seluruh dunia melihat data adalah salah satu pilihan.
Jika Anda tidak ingin pengguna yang masuk mengambil semua data yang Anda sediakan untuk mereka, Anda dapat membatasi jumlah permintaan per menit untuk pengguna tersebut, sehingga menambahkan penundaan pada pemuatan halaman Anda jika sudah tercapai. Karena pengguna login, Anda dapat dengan mudah melacak permintaan di sisi server meskipun mereka berhasil mengubah cookie/Penyimpanan Lokal/IP/Browser dan yang lainnya.
Anda dapat menggunakan gambar untuk beberapa teks, yang akan memaksa mereka menggunakan mekanisme yang banyak sumber dayanya untuk menerjemahkan informasi yang dapat digunakan.
Anda dapat menambahkan teks tersembunyi, ini bahkan akan mencegah penyalinan/penempelan pengguna (Anda menggunakan bentang yang diisi dengan 3-4 huruf acak pada setiap 3-4 huruf asli dan menjadikannya ukuran font 0). Dengan cara itu mereka tidak terlihat, namun tetap disalin, dan kemungkinan besar akan diambil dari crawler.
Menolak sambungan dari tanda header HTTP perayap yang dikenal, meskipun perayap mana pun dapat menirunya. Dan Greasemonkey atau ekstensi scripting bahkan dapat mengubah browser biasa menjadi crawler sehingga kejadiannya sangat kecil.
Sekarang, untuk memaksa menggunakan javascript
Masalahnya adalah Anda tidak bisa memaksakan eksekusi javascript apa pun. Apa yang dilakukan javascript dapat dilihat oleh semua orang yang memiliki akses ke halaman tersebut, jadi jika itu adalah semacam hash MD5 yang ingin Anda capai, ini dapat diimplementasikan dalam bahasa apa pun.
Hal ini terutama tidak mungkin dilakukan karena crawler memiliki akses ke semua yang dapat diakses oleh javascript klien.
Pemaksaan untuk menggunakan crawler berkemampuan javascript dapat dielakkan, dan bahkan jika tidak, dengan daya komputasi yang tersedia bagi siapa pun saat ini, sangat mudah untuk meluncurkan instance PhantomJS... Dan seperti yang saya katakan di atas, siapa pun yang memiliki sedikit pengetahuan javascript dapat dengan mudah mengotomatiskan klik di situs web Anda menggunakan browser mereka, yang akan membuat semuanya tidak terdeteksi.
Apa yang harus dilakukan
Satu-satunya cara antipeluru untuk mencegah perayap mengambil data Anda, dan mencegah otomatisasi apa pun adalah dengan menanyakan sesuatu yang hanya dapat dilakukan oleh manusia. Captcha terlintas di benak saya.
Pikirkan tentang pengguna Anda yang sebenarnya
Hal pertama yang harus Anda ingat adalah jika situs web Anda mulai mengganggu untuk digunakan oleh pengguna biasa, mereka tidak akan kembali. Harus mengetikkan captcha 8 karakter pada setiap permintaan halaman hanya karena MUNGKIN ada seseorang yang ingin memompa data akan menjadi hal yang sangat membosankan bagi siapa pun. Selain itu, memblokir agen browser yang tidak dikenal dapat mencegah pengguna sah mengakses situs web Anda karena alasan X atau Y mereka menggunakan browser yang aneh.
Dampaknya terhadap pengguna sah Anda, dan waktu yang Anda perlukan untuk bekerja keras melawan crawler mungkin terlalu tinggi untuk menerima bahwa beberapa crawling akan terjadi. Jadi pilihan terbaik Anda adalah menulis ulang TOS Anda untuk secara eksplisit melarang perayapan dalam bentuk apa pun, mencatat setiap akses http setiap pengguna, dan mengambil tindakan bila diperlukan.
Penafian: Saya menghapus lebih dari seratus situs web setiap bulan, mengikuti tautan eksternal sehingga totalnya sekitar 3000 domain. Pada saat posting, tidak satupun dari mereka yang menolak, padahal mereka menggunakan satu atau lebih teknik di atas. Ketika kesalahan scrapping terdeteksi, tidak butuh waktu lama untuk memperbaikinya...
Satu-satunya hal adalah merangkak dengan hormat, tidak merayapi secara berlebihan atau membuat terlalu banyak permintaan dalam jangka waktu yang singkat. Melakukan hal itu saja akan menghindari anti crawler paling populer.
person
Salketer
schedule
28.07.2017