Descriere: Există situații în care nu doriți să retrageți imediat întregul conținut al paginii. De exemplu, în secțiunea " FAQ."Pentru a retrage doar numele întrebărilor. Și dacă o persoană este interesată de răspunsul la o anumită întrebare, el poate deschide răspunsul și când urmărește, apoi închide. Acest lucru creează confortul paginii și compactitudinea sa. Și Pentru asta am pregătit simplu script pe JavaScript.permițându-vă să deschideți sau să ascundeți un text specific (în general, anumite elemente), adică text ascuns pe JavaScript.
Rezultat: Faceți clic pe numele întrebării. Dacă faceți clic din nou, răspunsul se va agăța din nou.
Intrebarea 1.
Răspuns Numărul 1.
Intrebarea 2.
Răspuns Numărul 2.
Cod JavaScript (inserați între etichete și):
Codul HTML (introduceți între etichete și):
Intrebarea 1.
Intrebarea 2.
Sincer, nu este necesar ca nici un dezvoltator, în cea mai mare parte niciun cod JavaScript cu ușurință în browser și, prin urmare, nu există motive speciale pentru a vă ascunde codul. Acest lucru, ca să spunem, vizibil, ceea ce nu poate fi ascuns. Cu toate acestea, există băieți care sunt foarte timizi să-și arate codul pentru oricine, având în vedere că această proprietate nu poate fura, spunând bibliotecile. Ați creat un serviciu online, a creat în mod special o bibliotecă complexă puternică care efectuează anumite operațiuni, fără analogi ai serviciului dvs., nu există din biblioteca dvs. și, în mod natural, nu ați dori ca scriptul dvs. să vadă fiecare (dezvoltator) și ar putea face pe dvs. Exemplu similar, chiar mai bun. Desigur, nu este nimic în neregulă cu a face ceva mai bun, este o evoluție, dar din punctul de vedere al afacerii, concurenții sunt doar la îndemână.
Ce este necesar pentru asta?
Trebuie doar să înțelegeți algoritmul și să încercați să-l îmbunătățiți și vă relocați experiența așa cum am făcut scripturi ascunse. Primul lucru de care avem nevoie este de a testa sarcina pe serverul real (local), voi face acest lucru cu Denwer pe server local..dar)Pentru testare, creați un director pe server.
merg inainte discul virtual., Am acest drive r, du-te acolo Du-te la dosarul de acasă
Creați director script și în interior Creați un dosar WWW, ca rezultat, veți reuși: Acasă / script / www / după aceea, asigurați-vă că actualizați serverul (reporniți Denwer)
b) Creați un fișier index.php - de exemplu, acesta este al nostru pagina principală Site, și aici trebuie să eliminăm scripturile ascunse. De asemenea, creați folderul "JS" în acest director.
Pentru sarcina noastră, vor fi necesare cereri AJAX, pentru că puteți utiliza funcțiile raționale, dar dacă proiectul dvs. va crește la dimensiuni care vor necesita utilizarea efectelor speciale, evenimente, conectați biblioteca și mă conectez în avans JQuery, deci În rădăcina dosarului "JS» Adăugați jQuery.js.
Apoi creați în același dosar dosar nouScripturile pe care trebuie să le ascundem vor fi stocate în ea. O voi numi "securitate":
în)Recrutăm codul de previzualizare în index.php
După cum puteți vedea, există un bloc
PHP presupune rolul de a citi scripturile dvs. care vor fi blocate pe server și nu le poate fi aplicat.
Dar mai întâi să creăm scripturile pe care vrem să le ascundem.
d) În dosarul de securitate, creați Script1.js și Script2.js, respectiv cu un astfel de conținut:
De exemplu, este de ajuns! Acum, astfel încât este imposibil să le contactați, trebuie să îl întrebați pe server, acest lucru se face datorită fișierului .httaccess.
Htaccess este un fișier de configurare stabilit de dezvoltatorul, utilizatorul acestui server.
Htaccess are astfel de conținuturi:
După aceea, la cerere:
Veți vedea acest lucru:
Astfel, dosarul dvs. de securitate este ascuns de ochii puriți, este inaccesibil.
Dacă încercați să conectați scripturile:
Apoi, în orice caz, fișierele dvs. nu vor fi executate, deoarece sunt ascunse la nivel global de către server
e)Reveniți la programul PHP bloc în index.php
Linia de jos este că PHP are acces la toate fișierele de pe server, indiferent dacă sunt ascunse sau nu, adică dacă vă înregistrați:
Apoi B. acest caz Vom vedea conținutul scriptului nostru ascuns.
Cu toate acestea, de la un alt server, conținutul scriptului nostru nu poate fi văzut și un mesaj de eroare este returnat 500. Aceasta este mâna noastră, astfel încât alte site-uri nu vor putea citi fișierele ascunse.
e)Acesta este modul în care rezultatul final va arăta:
Și acum ne ocupăm de modul în care funcționează totul. JQuery execută o interogare Post (acest lucru vă ajută să evitați găurile din index.php) pe serverul "Index.php JS \u003d rezultat", există un cec, dacă cererea de la serverul nostru (STPO () și adresa noastră Server "http: / / script" - C pentru acest exemplu), atunci scriptul verifică după variabila, adică adresa scriptului nostru ascuns și oferă un rezultat text. JQuery Done () Metoda primește un răspuns sub forma acestui conținut de text, iar acest text poate fi convertit într-o lucrare JavaScript, aceasta face ca funcția standard trans-tramvai să fie evaluată ();
În cele din urmă
Obținem rezultatul nostru, scripturile noastre nu pot fi văzute static sau dinamic prin consola browserului, dar este ușor să vă vedeți munca. Aceste scripturi și funcțiile lor sunt ușor executate. Cu toate acestea, este necesar să se gândească bine să aplicați această tehnică, deoarece în acest caz este ridicată problema performanței, viteza. EVAL (cod) Funcția între dezvoltatorii JavaScript Este considerat rău și se recomandă utilizarea analogului său de noua funcție ("retur" + cod), deși acesta din urmă nu știe cum să determine funcțiile din interior, adică dacă definiția funcției este înregistrată în variabila dvs. , Cod \u003d "Test de funcții () (alertă (1);); Testul (); ", Codul nu va fi îndeplinit, ceea ce înseamnă Eval () abordează toate cazurile de viață, adevărul are propriile nuanțe, care încă mai trebuie să citească.Dacă vă puteți ascunde vreodată să vă ascundeți de pe outsiders pe pagina dvs. de script, care implementează un aspect frumos nerealist al unui meniu sau care efectuează alte acțiuni pe care nu ați dori să le vedeți în curând pe fiecare al doilea site?
Dacă da, metoda descrisă în acest articol vă va fi utilă în colaborare cu procedura codului. În același timp, voi face o rezervare odată că metoda nu este de 100%, ci de la cel mai neprofesional și o parte din profesioniști pe care îi va proteja.
Teorie
Să presupunem că avem pagina NOJS.PPP și pe el scenariul secret.js care trebuie să fie ascuns. Browser și utilizator pot obține un script de pe server în următoarele moduri:- Încărcarea scriptului postat direct pe pagină sau încărcată cu DOM;
- Vizualizați scriptul din fereastră Codul sursă de pagină;
- Salvarea unei pagini cu toate fișierele de pe un hard disk;
- Introducerea unei adrese URL directă în bara de adrese.
În al doilea și al treilea caz, acesta nu este transmis de toate browserele (Chrome, Firefox va emite un script descărcat anterior din memoria cache; Opera, adică este încărcată scriptul din nou, dar fără a trimite referer).
În al patrulea caz, reerificarea nu este transferată la niciuna dintre aceste patru browsere.
Dacă dați JavaScript dinamic cu verificarea antetului refererului în interogare, atunci vom proteja imediat de Opera și de exemplu, dar pentru Crome și Firefox va trebui să vină cu ceva de înregistrare. Vom descărca mai întâi un script, care la rândul său va încărca un alt script, în timp ce ambele descărcări vor fi verificate pentru refererul HTTP. Se constată metoda științifică că, dacă creați dinamic un script pe pagina Document.CreateEeLeEment ("Script"), apoi ștergeți-l din pagină, atunci scriptul va funcționa ca de obicei, dar nu va fi salvat.
Practică
nojs.php.
Această pagină poartă scopul de a descărca Script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>