Deskripsi: Ada situasi ketika Anda tidak ingin menarik seluruh konten halaman sekaligus. Misalnya, di bagian " FAQ."Hanya untuk menarik nama-nama pertanyaan. Dan jika seseorang tertarik pada jawaban atas pertanyaan tertentu, ia dapat membuka jawabannya, dan ketika dia menonton, lalu tutup. Ini menciptakan kenyamanan halaman dan kekompakannya. Dan untuk ini saya disiapkan sederhana script pada JavaScriptmemungkinkan Anda untuk membuka, atau menyembunyikan teks tertentu (secara umum, elemen tertentu), yaitu, buat teks Tersembunyi di JavaScript.
Hasil: Klik pada nama pertanyaannya. Jika Anda mengklik lagi, jawabannya akan kembali menempel.
Pertanyaan 1.
Jawab nomor 1.
Pertanyaan # 2.
Jawab nomor 2.
Kode javascript (sisipan antar tag dan):
Kode HTML (sisipan antar tag dan):
Pertanyaan 1.
Pertanyaan # 2.
Jujur, tidak perlu bagi pengembang, kebanyakan kode JavaScript yang mudah dilihat di browser, dan oleh karena itu tidak ada alasan khusus untuk menyembunyikan kode Anda. Ini, jadi untuk berbicara, terlihat, apa yang tidak bisa disembunyikan. Namun, ada orang-orang yang sangat malu untuk menunjukkan kepada siapa pun kepada siapa pun, mengingat bahwa properti ini tidak dapat mencuri, mengatakan perpustakaan. Anda telah membuat layanan online, secara khusus menciptakan pustaka kompleks yang kuat yang melakukan operasi tertentu, tidak ada analog layanan Anda, tidak ada perpustakaan Anda, dan secara alami Anda tidak ingin skrip Anda melihat masing-masing (pengembang) dan dapat dilakukan pada Anda Contohnya serupa, bahkan lebih baik. Tentu saja, tidak ada yang salah dengan melakukan sesuatu yang lebih baik, itu adalah evolusi, tetapi dari sudut pandang bisnis, pesaing hanya ada di tangan.
Apa yang dibutuhkan untuk ini?
Anda hanya perlu memahami algoritma dan mencoba memperbaikinya, dan saya menceritakan kembali pengalaman Anda karena saya melakukan skrip tersembunyi. Hal pertama yang kita butuhkan adalah menguji tugas di server (lokal) nyata, saya akan melakukan ini dengan denwer server lokal.tapi)Untuk pengujian, buat direktori di server.
Saya melanjutkan virtual disk., Saya punya drive ini r, pergi ke sana pergi ke folder rumah
Buat direktori skrip, dan di dalam Buat folder www, sebagai hasilnya, Anda akan berhasil: home / script / www / - setelah itu, pastikan untuk memperbarui server (restart denwer)
b) Buat file index.php - misalnya, ini adalah milik kami halaman Utama Situs, dan di sini kita perlu menghapus skrip tersembunyi. Juga buat folder "JS" di direktori ini.
Untuk tugas kami, permintaan AJAX akan diperlukan, untuk ini Anda dapat menggunakan fungsi rasional Anda, tetapi jika proyek Anda akan tumbuh menjadi ukuran yang akan memerlukan penggunaan efek khusus, acara, sambungkan perpustakaan, dan saya terhubung di muka jQuery, jadi Di akar folder "JS» Tambahkan jQuery.js.
Lalu buat di folder yang sama folder baruSkrip yang perlu kita sembunyikan akan disimpan di dalamnya. Saya akan menyebutnya "Keamanan":
di)Kami merekrut kode pratinjau di index.php
Seperti yang Anda lihat, ada blok
PHP mengasumsikan peran membaca skrip Anda yang akan diblokir di server dan tidak dapat diterapkan pada mereka.
Tapi pertama-tama mari kita buat skrip kita yang ingin kita sembunyikan.
d) Di folder keamanan, buat script1.js dan script2.js, dengan konten tersebut, masing-masing:
Misalnya, itu sudah cukup! Sekarang, agar tidak mungkin untuk menghubungi mereka, Anda perlu menanyakannya di server, ini dilakukan berkat file.htaccess.
Htaccess adalah file konfigurasi yang ditetapkan oleh pengembang, pengguna server ini.
Htaccess memiliki konten seperti:
Setelah itu, atas permintaan:
Anda akan melihat ini:
Dengan demikian, folder keamanan Anda disembunyikan dari mata mencongkel, itu tidak dapat diakses.
Jika Anda mencoba menghubungkan skrip:
Lalu bagaimanapun, file Anda tidak akan dieksekusi, karena mereka tersembunyi secara global oleh server
e)Kembali ke Program Blok PHP di index.php
Intinya adalah bahwa PHP memiliki akses ke semua file di server, terlepas dari apakah mereka tersembunyi atau tidak, yaitu, jika Anda mendaftar:
Lalu B. kasus ini Kami akan melihat isi skrip tersembunyi kami.
Namun, dari server lain, isi skrip kami tidak dapat dilihat, dan pesan kesalahan dikembalikan 500. Ini adalah tangan kami, sehingga situs lain tidak akan dapat membaca file tersembunyi kami.
e)Beginilah hasil akhirnya akan terlihat:
Dan sekarang kita berurusan dengan bagaimana semuanya bekerja. jQuery mengeksekusi permintaan pos (ini membantu untuk menghindari lubang di index.php) pada server "index.php? js \u003d hasil", ada cek, jika permintaan dari server kami (stros () fungsi dan alamat kami Server "http: / / script" - C untuk akun contoh ini), maka skrip memeriksa post-variabel, yaitu, alamat skrip tersembunyi kami, dan memberikan hasil teks. Metode jquery selesai () mendapat respons dalam bentuk konten teks ini, dan teks ini dapat dikonversi ke JavaScript berfungsi, ini membuat fungsi lintas-trem standar eval ();
Akhirnya
Kami mendapatkan hasil kami, skrip kami tidak dapat dilihat secara statis atau dinamis melalui konsol browser, tetapi mudah untuk melihat pekerjaan mereka. Skrip ini dan fungsinya mudah dieksekusi. Namun, perlu untuk berpikir dengan baik untuk menerapkan teknik ini, seperti dalam hal ini masalah kinerja, kecepatan dinaikkan. Fungsi eval (kode) di antara pengembang JavaScript Ini dianggap jahat, dan disarankan untuk menggunakan analognya dari fungsi baru ('return' + kode), meskipun yang terakhir tidak tahu bagaimana menentukan fungsi di dalamnya, yaitu, jika definisi fungsi dicatat dalam variabel Anda , Kode \u003d "tes fungsi () (peringatan (1);); Tes (); ", kode tidak akan dipenuhi, yang berarti eval () mendekati semua kasus kehidupan, kebenaran memiliki nuansa sendiri, yang masih perlu dibaca.Apakah pernah menyembunyikan Anda untuk bersembunyi dari outsiders di halaman skrip Anda, yang mengimplementasikan penampilan indah yang tidak realistis dari menu atau melakukan tindakan lain yang tidak ingin Anda lihat segera di setiap situs kedua?
Jika demikian, metode yang dijelaskan dalam artikel ini akan bermanfaat bagi Anda dalam hubungannya dengan proses kode. Pada saat yang sama, saya akan membuat reservasi sekaligus bahwa metode ini bukan 100%, tetapi dari sebagian besar non-profesional dan bagian dari para profesional itu akan melindungi.
Teori
Misalkan kita memiliki halaman nojs.php, dan di atasnya Script.js Script yang perlu disembunyikan. Browser dan pengguna dapat memperoleh skrip dari server dengan cara berikut:- Memuat skrip yang langsung diposting di halaman atau dimuat dengan DOM;
- Lihat skrip di jendela Kode Sumber Halaman;
- Menyimpan halaman dengan semua file pada hard drive;
- Memasukkan URL langsung di bilah alamat.
Dalam kasus kedua dan ketiga, ditransmisikan bukan oleh semua browser (Chrome, Firefox akan mengeluarkan skrip yang sebelumnya diunduh dari cache; Opera, yaitu dimuat skrip lagi, tetapi tanpa mengirim referensi).
Dalam kasus keempat, pengarah tidak ditransfer ke salah satu dari empat browser ini.
Jika Anda memberikan JavaScript secara dinamis dengan memeriksa header referensi dalam kueri, maka kami akan segera melindungi dari opera dan IE, tetapi untuk Crome dan Firefox harus datang dengan sesuatu untuk merekam. Kami akan terlebih dahulu mengunduh satu skrip, yang pada gilirannya akan memuat skrip lain, sementara kedua unduhan akan diperiksa untuk referensi HTTP. Metode ilmiah ditemukan bahwa jika Anda secara dinamis membuat skrip pada halaman dokumen
Praktek
nojs.php.
Halaman ini membawa tujuan untuk mengunduh script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>