it-swarm-id.com

Mengapa orang menonaktifkan JavaScript?

Saya mengajukan pertanyaan kemarin Haruskah saya repot-repot Mengembangkan Untuk JavaScript Dinonaktifkan? . Saya pikir konsekuensinya adalah: Ya, saya harus mengembangkan untuk JavaScript Disabled. Sekarang saya hanya ingin mengerti mengapa pengguna menonaktifkan JS. Tampaknya banyak pengembang (saya kira orang-orang yang menjawab pertanyaan adalah pengembang) menonaktifkan JS. Mengapa demikian. Mengapa pengguna menonaktifkan JS? Untuk keamanan? Kecepatan? atau apa?

60
Jiew Meng

Seseorang menonaktifkan JavaScript di lingkungan browser karena pertimbangan berikut:

  • Kecepatan & Bandwidth
  • Kegunaan & Aksesibilitas
  • Dukungan Platform
  • Keamanan

Kecepatan & Bandwidth

Banyak aplikasi menggunakan terlalu banyak JavaScript untuk kebaikannya sendiri ... Apakah Anda perlu bagian antarmuka Anda disegarkan dengan AJAX panggilan sepanjang waktu? Mungkin antarmuka Anda terasa hebat dan cepat saat digunakan dengan koneksi broadband, tetapi ketika Anda harus menurunkan ke kecepatan koneksi yang lebih lambat, antarmuka yang lebih ramping lebih disukai. Dan mematikan JavaScript adalah cara yang baik untuk mencegah aplikasi web bodoh menyegarkan dunia menyegarkan setiap 15 detik atau lebih untuk tidak ada alasan yang bagus. (Pernah melihat jumlah data yang dikirim Facebook? Menakutkan. Ini bukan hanya masalah terkait JS, tetapi juga bagian dari itu).

Kami juga cenderung lebih banyak memuat dari pemrosesan ke klien, dan jika Anda menggunakan perangkat keras minimalis (atau hanya ketinggalan zaman), itu sangat lambat.

Kegunaan & Aksesibilitas

Tidak semua antarmuka pengguna harus dinyatakan secara dinamis, dan konten yang dihasilkan server mungkin dapat diterima dalam banyak kasus. Plus, beberapa orang tidak menginginkan antarmuka seperti ini. Anda tidak dapat menyenangkan semua orang, tetapi kadang-kadang Anda memiliki kesempatan dan kewajiban untuk memuaskan semua pengguna Anda.

Akhirnya, beberapa pengguna memiliki cacat, dan jangan abaikan mereka , selamanya !!!

Skenario kasus terburuk di sini, menurut saya, adalah situs web pemerintah yang mencoba untuk "memodernisasi" UI mereka agar tampak lebih ramah kepada publik, tetapi akhirnya meninggalkan sebagian besar audiens yang dituju. Demikian pula, sangat disayangkan ketika seorang mahasiswa tidak dapat mengakses konten programnya: karena dia buta dan pembaca layarnya tidak mendukung situs tersebut, atau karena situs tersebut sangat berat dan memerlukan plug-in modern ad-hoc yang dia tidak dapat menginstal pada laptop yang diperbaharui yang dibeli di e-bay 2 tahun yang lalu, atau lagi karena dia kembali ke rumah ke negara lain untuk liburan musim semi dan kendala bandwidth lokal tidak dapat mengatasi payload dari situs.

Tidak semua orang hidup di dunia yang sempurna.

Dukungan Platform

Poin ini berkaitan dengan 2 yang sebelumnya dan cenderung kurang relevan saat ini, karena browser menanamkan mesin JavaScript yang tingkat besarnya lebih efisien daripada sebelumnya, dan ini terus menjadi lebih baik.

Namun, tidak ada jaminan bahwa semua pengguna Anda memiliki hak istimewa untuk menggunakan browser modern (baik karena kendala korporat - yang memaksa kami untuk mendukung browser kuno tanpa alasan yang baik, benar-benar - atau alasan lain yang mungkin atau mungkin tidak valid). Seperti yang disebutkan oleh "Matthieu M." dalam komentar, Anda harus ingat bahwa banyak orang masih menggunakan perangkat keras berkualitas rendah, dan tidak semua orang menggunakan smartphone terbaru dan paling keren. Sampai hari ini, masih ada sebagian besar orang yang menggunakan ponsel yang telah menyematkan browser dengan dukungan terbatas.

Tapi, seperti yang saya sebutkan, segalanya menjadi lebih baik di daerah ini. Namun, Anda masih perlu mengingat poin sebelumnya tentang batasan bandwidth jika Anda tetap melakukan polling secara teratur (atau pengguna Anda akan menikmati tagihan telepon yang bagus).

Itu semua sangat saling terkait.

Keamanan

Meskipun jelas Anda dapat berpikir bahwa tidak ada hal yang berbahaya yang dapat dilakukan dengan JavaScript mengingat itu berjalan di lingkungan browser, ini sama sekali tidak benar.

Anda menyadari bahwa ketika Anda mengunjungi P.SE dan SO Anda secara otomatis login jika Anda login di jaringan lain, kan? Ada beberapa JS di sana. Bit itu masih tidak berbahaya, tetapi menggunakan beberapa konsep yang dapat dieksploitasi oleh beberapa situs jahat. Sangat mungkin bagi sebuah situs web untuk menggunakan JavaScript untuk mengumpulkan informasi tentang beberapa hal yang Anda lakukan (atau lakukan) selama sesi penelusuran (atau yang sebelumnya jika Anda tidak hapus data sesi Anda setiap kali Anda keluar dari browser Anda atau jalankan mode penyamaran/penjelajahan pribadi yang sekarang umum) dan kemudian unggah saja ke server.

Kerentanan terkini (yang bekerja di browser utama pada saat itu) mencakup kemampuan untuk mengumpulkan data formulir input yang disimpan (dengan mencoba kombinasi untuk Anda di halaman jahat dan merekam teks yang disarankan untuk setiap kemungkinan kombinasi huruf awal yang mungkin , mungkin memberi tahu penyerang siapa Anda, di mana Anda bekerja dan tinggal ) atau untuk ekstrak riwayat penjelajahan Anda dan kebiasaan ( Peretasan yang sangat pintar melakukan sesuatu yang sederhana seperti menyuntikkan tautan ke DOM laman untuk mencocokkan warna tautan dan melihat apakah sudah dikunjungi Anda hanya perlu melakukan ini pada tabel yang cukup besar dari nama domain yang dikenal. Dan browser Anda semakin cepat dalam memproses JavaScript, tipe ini hal dilakukan dengan cepat.)

Plus, jangan lupa bahwa jika model keamanan browser Anda cacat, atau situs web yang Anda kunjungi tidak cukup melindungi diri dari serangan XSS, maka orang mungkin menggunakan JavaScript untuk cukup memanfaatkan sesi terbuka Anda di situs web jarak jauh.

JavaScript sebagian besar tidak berbahaya ... jika Anda menggunakannya untuk situs web tepercaya. Gmail Facebook (mungkin ... dan bahkan tidak ...). Pembaca Google. StackExchange.

Tapi ya tentu, JavaScript tidak seburuk itu, kan? Dan ada hal-hal menakutkan yang ditakuti online. Seperti menganggap Anda anonim saat Anda benar-benar tidak banyak , seperti yang ditunjukkan oleh Panopticlick percobaan EFF . Yang juga sebagian dilakukan dengan menggunakan JavaScript. Anda bahkan dapat membaca alasan untuk menonaktifkan JavaScript untuk menghindari sidik jari peramban .


Semua ini dikatakan, mungkin ada situasi yang sangat baik di mana Anda tidak perlu repot-repot mendukung JavaScript. Tetapi jika Anda menawarkan situs web layanan publik, pertimbangkan untuk menerima kedua jenis klien. Secara pribadi, saya pikir banyak aplikasi web dan situs web modern akan berfungsi sama baiknya dengan menggunakan model konten yang dihasilkan server tanpa JavaScript sama sekali di sisi klien, dan itu akan tetap bagus dan mungkin jauh lebih sedikit memakan.

Jarak tempuh Anda dapat bervariasi tergantung pada proyek Anda.

81
haylem

Karena memercayai seseorang untuk menulis komik lucu setiap pagi dan memercayai seseorang untuk menjalankan kode Turing-complete sewenang-wenang di komputer saya adalah dua sangat hal yang berbeda.

46
Jörg W Mittag

Saya bukan pengembang web, dan saya hanya memiliki pemahaman moderat tentang cara kerja internet. Jadi ini adalah jawaban dari pengguna.

Pengalaman saya membuat saya percaya bahwa banyak situs hanya kode yang buruk, apakah karena malas atau tidak tahu: Ketika saya akan melihat halaman web pada dasarnya statis, seperti halaman Facebook, penggunaan CPU saya akan meningkat dengan sesuatu seperti 15%, dan lebih drastis dengan banyak tab. Akhirnya sampai pada titik di mana saya harus menunggu jawaban setelah mengklik tombol atau tautan dan CPU saya akan terlalu panas dan terkunci.

Pada banyak pelaku (situs) terburuk ini, tidak ada yang terlihat yang berubah dan tidak ada yang interaktif yang terjadi. Saya hanya bisa mengira kode situs terus-menerus membuat penyegaran, jajak pendapat, dan loop yang tak ada habisnya.

Ini mendorong saya untuk menginstal NoScript untuk membebaskan penggunaan CPU saya dan berhenti menjelajah dari tugas yang membuat frustrasi. .

Add-on indah lain yang saya gunakan adalah FlashBlock .

16
Mark C

Saya menonaktifkan JS karena alasan kecepatan. TechCrunch tanpa JavaScript membutuhkan beberapa detik untuk memuat dengan cache yang sudah disiapkan. Dengan JavaScript dibutuhkan hampir 20 detik, lebih banyak jika cache tidak dipersiapkan.

Banyak situs telah membengkak dengan JavaScript, terutama galeri gambar dan situs perdagangan. Menghapus ini memberi Anda pengalaman menjelajah yang lebih baik dalam banyak kasus.

10
Josh K

Bagi saya itu semua tentang keamanan. Saya menggunakan noscript untuk mengizinkan situs web tertentu untuk menjalankan javascript, sementara melarang sebagian besar.

Pada akhirnya Anda benar-benar tidak pernah tahu di mana bahaya berada ( situs web nobel terinfeksi di techspot.com ). Banyak eksploitasi nol hari (dan lainnya) menggunakan javascipt; menutup jalan serangan ini terasa seperti langkah ke arah yang benar.

8
kasterma

Alasan utama saya adalah bahwa ia menekan iklan yang paling menjengkelkan. Saya lebih suka tidak menggunakan AdBlock Plus, karena itu dapat mempengaruhi pendapatan untuk situs yang saya kunjungi (dan saya telah menggunakan satu atau dua situs di mana ketentuan layanan mengatakan saya tidak menonaktifkan iklan). NoScript membatasi kemungkinan ketidakjujuran iklan, dan saya bersedia hidup bersama yang lainnya.

Ada juga pertimbangan keamanan, dan itu sebagian besar terkait dengan iklan juga, karena setiap situs yang menjual iklan harus dianggap berpotensi bermusuhan.

Selain itu, saya tidak perlu tahu situs itu cerdik sebelum saya mengunjunginya. Beberapa orang senang mengirimkan tautan ke situs, dan tidak selalu jujur.

7
David Thornley

Karena dulu browser memiliki implementasi JavaScript yang lambat dan terlalu banyak perancang web n00b hanya menggunakannya untuk hal-hal yang tidak relevan seperti rollover tombol.

Pada mesin yang cepat, dengan peramban modern, tidak ada orang waras yang menonaktifkannya sepanjang waktu. Yang tidak berarti tidak ada banyak orang yang sangat "sadar keamanan" dan orang lain tanpa dana, keinginan, atau pengetahuan untuk menjalankan browser modern di komputer yang cepat ... Hanya baru-baru ini IE6 berhenti menjadi browser paling populer di internet!

4
Kevin Cantu

Dengan Javascript diaktifkan, situs web apa pun dapat menjalankan kode di Komputer saya. Saya bahkan tidak tahu, apakah situs web tersebut mengeksekusi kode dan apa fungsinya. Lebih parah lagi, orang lain dapat memasukkan kode tanpa sepengetahuan saya ke situs web yang biasanya tidak berbahaya (XSS). Baru-baru ini seorang komputer-magazin terkenal dari Jerman tidak membuat artikel, ketika seorang anak berusia 16 tahun mencoba situs perbankan online dari bank-bank paling umum di Jerman. Banyak dari mereka - termasuk yang terbesar - rentan terhadap XSS. Dan Anda bahkan tidak melihat, bahwa situs perbankan online Anda mengeksekusi beberapa Javascript yang berubah, misalnya target dan jumlah untuk transaksi. Dengan menonaktifkan Javascript serangan-XSS dalam konteks situs tepercaya tidak berguna, saya tidak menjalankan kode berbahaya.

2
Mnementh