Maka masalahnya adalah halaman web ini pertama kali melibatkan pengembangan front-end web seluler. Saya lebih suka menggunakan kombinasi html5+bootstrap untuk mencapai efek estetika halaman. Tugas front-end lainnya diserahkan kepada JavaScript untuk dipecahkan (di sini saya menggunakan kode javascript asli sepenuhnya dan tidak menggunakan kerangka kerja apa pun, karena mengingat bahwa ponsel memuat halaman web dengan kecepatan lambat, dan banyak fungsi yang tidak digunakan dalam kerangka kerja juga akan memuat dengan halaman web, yang mengkonsumsi lalu lintas pengguna).
Setelah semua fungsi siap, pelanggan sangat puas dengan uji coba, dan kemudian saya mengirimkan kode ke server resmi. Namun, pihak lain tiba -tiba menyebutkan satu hal: Halaman yang Anda buat memang cukup indah dan memiliki kompatibilitas yang baik, tetapi halaman ini juga dapat diakses menggunakan browser di komputer Anda, sehingga orang lain dapat dengan santai melihat kode sumber halaman, dan kemudian menyalin seluruh halaman. Bisakah ada cara untuk mencegah ini? Kemudian pertanyaannya muncul lagi. Ini adalah pertama kalinya saya melakukan pengembangan sekunder WeChat. Saya tidak pernah menemukan permintaan seperti itu. Bagaimana cara menyelesaikannya?
Saya tidak bisa memikirkannya untuk sementara waktu, dan kemudian saya mengesampingkan masalah ini dan melakukan beberapa bisnis backend. Saat melakukan fungsi pengumpulan data di latar belakang, kode PHP menggunakan parameter $ _server ['http_user_agent']. Tiba -tiba saya berpikir bahwa ketika browser mengunjungi halaman web, itu akan mengirim UserAgent ke server, yang berisi beberapa informasi dasar tentang browser dan sistem operasi pengguna. Karena WeChat memiliki browser bawaan, akankah UserAgent membawa logo unik yang terkait dengan WeChat ketika menjelajah halaman web dengan WeChat (setelah semua, Tencent adalah perusahaan yang begitu besar, dan WeChat adalah salah satu produk inti mereka)? Cukup gunakan kode untuk mencetak UserAgent untuk mengetahuinya. Kode JavaScript adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
peringatan (navigator.useragent);
</script>
Saya mendapatkan hasil seperti yang ditunjukkan di ponsel saya:
Benar saja, saya benar -benar melihat sesuatu yang berbeda. Saya percaya bahwa teman -teman pintar telah menemukannya. Benar, hal ini: Micromessenger/6.0.0.50_R844973.501. String di belakang slash adalah jumlah versi weChat yang saya gunakan saat ini, dan bagian depan harus menjadi logo unik WeChat. Sebenarnya, saya awalnya berpikir itu adalah micromessage, dan berpikir bahwa terjemahan Cina berarti "mikro", tetapi setelah melihat lebih dekat, saya menemukan bahwa itu tidak. Setelah mencari kamus, saya menyadari bahwa kata messenger berarti "orang yang melaporkan pesan, orang yang mengirim pesan", jadi saya tidak berpikir itu aneh. Logo ini harus dikatakan sebagai sesuatu yang tidak akan dimiliki browser lain, jadi solusinya ada di sini, silakan lihat kodenya:
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
// Cocokkan secara teratur pengguna browser. Jika tidak mengandung pengidentifikasi unik WeChat, itu adalah browser lain.
var userAgent = navigator.useragent;
if (useragent.match (/micromessenger/i)! = 'micromessenger') {
// kotak peringatan ini akan memblokir halaman saat ini dan terus memuat
Peringatan ('Akses ini telah dilarang: Anda harus menggunakan browser bawaan WeChat untuk mengakses halaman ini!');
// Kode berikut adalah dengan paksa menutup halaman saat ini dengan JavaScript
var dibuka = window.open ('tentang: blank', '_self');
dibuka.Opener = null;
dibuka.close ();
}
</script>
Kode ini telah diuji pada Android, iPhone, iPad, dan PC. Selama halaman web tidak dibuka di dalam WeChat, kotak peringatan di atas pertama -tama akan muncul. Pada saat ini, halaman di belakang kosong dan tidak ada yang dimuat. Saat mengklik tombol konfirmasi kotak peringatan, tiga baris kode terakhir akan dengan paksa menutup halaman saat ini. Oke, di sini telah menyadari niat asli pengguna, dan itu bisa dilakukan dengan sederhana.
Tunggu, dapatkah Anda benar -benar menyelesaikan pekerjaan seperti ini? Apakah Anda yakin tidak akan ada masalah lain? Tentu saja tidak. Bahkan, metode ini tidak akan membuat Anda yakin, karena pengguna palsu, pembatasan ini masih dapat dilewati. Secara umum, itu adalah menjaga terhadap tuan -tuan tetapi penjahat. Semua orang tahu. Tentu saja, jika ada teman yang memiliki cara yang lebih baik untuk menyelesaikan masalah ini, silakan berkomentar di bawah teknologi itu terletak pada berbagi dan komunikasi satu sama lain, haha.