Kako sakriti elemente u HTML-u? Skriveni tekst na JavaScript skrivenom JavaScript kodu na stranici.

Opis: Postoje situacije kada ne želite povući cijeli sadržaj stranice odjednom. Na primjer, u odjeljku " FAQ."Da povučemo samo imena pitanja. A ako je osoba zainteresirana za odgovor na određeno pitanje, može otvoriti odgovor, a kad ga gleda, tada se izbliži. To stvara pogodnost stranice i njegovu kompaktnost. Za to sam pripremio jednostavno skripta na JavaScript-u.što vam omogućava otvoriti ili sakriti određeni tekst (uopšte, određene elemente), to jest skriveni tekst na JavaScript-u.

Rezultat: Kliknite na ime pitanja. Ako ponovo kliknete, odgovor će se ponovo prilijepiti.

Pitanje broj 1.

Odgovor broj 1.

Pitanje br. 2.

Odgovor broj 2.

JavaScript kod (umetak između oznaka i):

HTML kod (umetak između oznaka i):

Pitanje broj 1.



Pitanje br. 2.


Iskreno, nije potrebno za bilo koji programer, uglavnom svaki JavaScript kod lako izgleda u pretraživaču, a zato nema posebnih razloga za skrivanje vašeg koda. Ovo, da tako kažem, vidljivo, ono što ne može biti skriveno. Međutim, postoje momci koji su vrlo stidljivi da pokažu svoj kôd bilo kome, s obzirom na to da ova imovina ne može krade, govoreći biblioteke. Napravili ste internetsku uslugu, posebno kreiranu moćnu složenu biblioteku koja obavlja određene operacije, nema analoge vaše usluge, nema vaše biblioteke, a prirodno ne biste željeli da se vaš scenarij ne bi željeli vidjeti na vašem pisanju (programera) i moglo bi se vidjeti na vašem Primjer sličan, još boljim. Naravno, nema ništa loše u tome da učinimo nešto bolje, to je evolucija, ali sa stanovišta poslovanja, takmičari su samo pri ruci.

Šta je potrebno za to?

Morate samo razumjeti algoritam i pokušati ga poboljšati, i prepričavam vaše iskustvo dok sam učinio skrivene skripte. Prvo što nam treba je da testiramo zadatak na stvarnom (lokalnom) poslužitelju, učinit ću to sa DENWER-om lokalni poslužitelj.

ali)Za testiranje kreirajte direktorij na poslužitelju.
Ja idem dalje virtualni disk, Imam ovaj pogon r, idite tamo u mapu Početna

Kreirajte direktorij skripte i iznutra Stvorite WWW mapu, kao rezultat, uspjet ćete: Početna / Script / www / - nakon toga, obavezno ažurirajte poslužitelj (ponovno pokrenite DENWER)

b) Kreirajte datoteku index.php - na primjer, ovo je naša glavna stranica Web lokacija i evo moramo ukloniti skrivene skripte. Također kreirajte mapu "JS" u ovom direktoriju.

Za naš zadatak bit će potreban AJAX zahtjevi, za to možete koristiti svoje racionalne funkcije, ali ako će vaš projekt rasti na veličinama koji će zahtijevati upotrebu posebnih efekata, događaja, povezivanje biblioteke, pa se povezujem u unaprijed jQuery U korijenu mape "JS" Dodaj jquery.js.

Zatim kreirajte u istoj mapi nova mapaSkripte koje trebamo sakriti bit će pohranjene u njemu. Imenuću ga "Security":

u)Zapošljavamo kôd za pregled u index.php


Kao što vidite, postoji blok

PHP preuzima ulogu čitanja vaših skripti koje će biti blokirane na poslužitelju i ne može se primijeniti na njih.

Ali prvo napravimo svoje skripte koje želimo sakriti.


d) U sigurnosnoj mapi Kreirajte skriptu1.js i skripta2.JS, sa takvim sadržajem, respektivno:


Na primjer, dovoljno je! Dakle, tako da ih je nemoguće kontaktirati, morate ga pitati na poslužitelju, to se radi zahvaljujući datoteci.htaccess.

Htaccess je konfiguracijska datoteka koju je postavio programer, korisnik ovog servera.

Htaccess ima takav sadržaj:

Nakon toga, na zahtjev:

Vidjet ćete ovo:

Dakle, vaša sigurnosna mapa je skrivena od znatiželjnih očiju, to je nepristupačna.

Ako pokušate povezati skripte:

Zatim u svakom slučaju, vaše datoteke neće biti izvršene, jer su na globalnoj razini skriveni od strane poslužitelja

e)Povratak na program PHP programa u index.php

Donja linija je da PHP ima pristup svim datotekama na poslužitelju, bez obzira da li su skrivene ili ne, odnosno ako se registrirate:


Zatim B. ovaj slučaj Vidjet ćemo sadržaj našeg skrivenog skripta.

Međutim, sa drugog poslužitelja, sadržaj našeg skripta se ne može vidjeti, a poruka o grešci vraća se 500. Ovo je naša ruka, tako da druga mjesta neće moći čitati naše skrivene datoteke.

e)Ovako će izgledati krajnji rezultat:

A sada se bavimo kako sve radi. jQuery izvrši post upit (ovo pomaže u izbjegavanju rupa u Index.php) na serveru "Index.php? JS \u003d rezultat", postoji ček, ako je zahtjev iz našeg poslužitelja (STRPOS () funkcija i adresa naše Server "HTTP: / / Script" - C za račun ovog primjera), tada skripta provjerava post-varijablu, odnosno adresu našeg skrivenog skripta i daje tekstualni rezultat. jQuery Gotovo () metoda dobiva odgovor u obliku ovog tekstualnog sadržaja, a ovaj tekst se može pretvoriti u JavaScript koji radi, to čini standardnu \u200b\u200bfunkciju poprečnog tramvaja eval ();

Na kraju

Dobili smo svoj rezultat, naše skripte se ne mogu vidjeti statički ili dinamično putem konzole pregledača, ali lako je vidjeti njihov rad. Ove skripte i njihove funkcije se lako izvršavaju. Međutim, potrebno je dobro razmišljati da primijenite ovu tehniku, kao u ovom slučaju, izdanje performansi, brzina se podiže. Eval (kod) funkcionira među javaScript programeri Smatra se zlim, a preporučuje se korištenje analogne nove funkcije ("povratak" + kod), mada ne zna kako odrediti funkcije iznutra, odnosno ako je definicija funkcije evidentirana u vašoj varijabli , Kod \u003d "Funkcijski test () (upozorenje (1);); test (); ", kôd neće biti ispunjen, što znači da eval () približava svim slučajevima života, istina ima vlastite nijanse, što još uvijek treba čitati.

Hoćete li da se ikad sakrite da se sakrivate od stranaca na svojoj scenarijskoj stranici, koja provodi nerealno prekrasan izgled menija ili izvođenje drugih radnji koje ne biste željeli vidjeti na svakoj drugoj web lokaciji?
Ako je to slučaj, metoda opisana u ovom članku bit će vam korisna u kombinaciji sa postupkom Kodeksa. Istovremeno ću rezervirati odjednom da metoda nije 100%, već od većine profesionalnih i dijela profesionalaca, zaštitit će se.

Teorija

Pretpostavimo da imamo nož.php stranicu, a na njemu tajni.JS skripta koju treba sakriti. Browser i korisnik mogu dobiti scenarij sa servera na sljedeće načine:
  1. Učitavanje skripte direktno objavljene na stranici ili učitava Dom;
  2. Pogledajte skriptu u prozoru Izvorni kod stranice;
  3. Spremanje stranice sa svim datotekama na tvrdom disku;
  4. Unošenje direktnog URL-a u adresnoj traci.
U prvom slučaju, pretraživač nužno prenosi HTTP zaglavlje http_referer.
U drugom i trećem slučaju, ne prenose se svi preglednici (Chrome, Firefox iznosit će prethodno preuzetu skriptu iz predmemorije; Opera, tj. Ponovo je učitava skriptu, ali bez slanja referera).
U četvrtom slučaju, referer se ne prenosi na bilo koji od ova četiri preglednika.
Ako JavaScript dinamički date provjeru zaglavlja filtera u upitu, odmah ćemo se zaštititi od opere i tj., Ali za Crome i Firefox će morati smisliti nešto za snimanje. Prvo ćemo preuzeti jednu skriptu, što će zauzvrat učitati još jedan scenarij, dok će oba preuzimanja biti provjerena za HTTP relej. Namjenska metoda otkriva se da ako dinamički kreirate skriptu na dokumentu.Craeteelement Page ("Script"), a zatim ga izbrišite sa stranice, a zatim skripta će raditi kao i obično, ali neće biti spremljena.

Vježbati

nojs.php.
Ova stranica nosi cilj preuzimanja skripta1.php
Pronađite JS.
Nakon 10 sekundi trebali biste vidjeti rad skrivenog skripta u obliku alerta, kliknite vezu nakon upozorenja, kako biste bili sigurni da se događaji također nisu pali. Na ovoj vezi možete vidjeti skrivenu skriptu
script1.php.
Njegov zadatak: dinamički preuzmi skriptu2.php, ako postoji zaglavlje referera. Vremena se mogu smanjiti, ovisno o približnom vremenu skrivenog skripta.
script2.php.
Njegov zadatak: Dajte krajnju skriptu ako postoji zaglavlje referera

Rezultati

Kao rezultat toga, dobivamo da ne možemo vidjeti ni na originalnoj stranici stranice, niti preuzmi ni sačuvati skrivenu skriptu pomoću sredstava testiranih četiri preglednika. Općenito, to možete vidjeti na dva načina:
  • Idite na vezu direktno vodeći na script2.php i nalazi se na stranici naše stranice;
  • Formiranje HTTP zahtjeva koji ukazuje na zaglavlje sa filmovima u njemu.
Povećajte efikasnost sakrivanja ovim metodama:
  1. Pomoću mod-prepisa, zamena skripta1.js i skripta2.JS poslužitelja na skriptu1.js i skripta2.js na script1.php i script2.php, odnosno, tako da na stranici postoje sve uobičajene JS datoteke, od PHP-a žuri oštro;
  2. Napraviti izmišljeni scenarij kao što je moguće složenije, vjerodostojno i zbunjujuće kako bi se osoba koja pokušava rastaviti prilično izlivati \u200b\u200bprije svijesti o onome što je prevario;
  3. Šifra za obradu.

Zdravo, čitač.
U ovom malom članku želimo vam reći kako pravilno optimizirati kategorije za internetsku trgovinu.
Kada počnemo optimizirati tekst, prvo ste postavili stranicu za maksimalnu relevantnost. Kako uraditi .
Ali u ovoj situaciji dolazi do sljedećih problema - morate dovršiti previše teksta, a to se ne uklapa u dizajn web lokacije.
Dakle, morate sakriti deo teksta od korisnikaAli ako iznenada posjetitelj želi pročitati, tako da ga lako može otvoriti.

Zanimljivo rješenje implementira se u internetskom hipermarketu "utičnicu". Na primjer, kategorije:

Kada kliknemo na ovu vezu, otvara se puni opis bez ponovnog pokretanja stranice. Ako želite implementirati istu odluku, onda je opisano u nastavku kako se provodi u praksi.
Ovaj trenutak se može riješiti zbog jezika za programiranje JavaScript-a.
JavaScript je prvobitno stvoren kako bi se web stranice "živeli."
Da biste postavili web stranicu javaScript skripte, morate unijeti deskriptor. Šifra se može postaviti kao u tijelu zaglavlja (između oznaka) ) i u tijelu stranice (između oznaka) ).
Da biste radili skriptu, morate stvoriti funkciju koja će se koristiti u bilo kojem dijelu web mjesta. Koristit ćemo funkciju funkcije sh ()

Da biste prikazali operaciju skripte, morate ga staviti na navedeno mjesto u ovom obliku.

Čitaj više ...



Funkcija SH () se zove ovdje.
Za zadani skriveni tekst bio je otvoren u promjeni koda prikaz: Nema na prikaz: blok.

Evo primjera onoga što se dogodilo nakon primijenjene funkcije na tekst:

U ovom primjeru, na stranici su sakrivene 3000 SEO-teksta, koje su ispisane za promociju web mjesta. Kada kliknete na sam vezu, vezu "Više ..." nestat će zahvaljujući stilu stila.Display naznačenog u funkciji.
Dakle, možete implementirati ovu funkcionalnost. Ako imate bilo kakvih pitanja, pitajte ih u komentarima.

Najjednostavnije rješenje za prikaz / sakrivanje HTML elementa dokumenta pomoću JavaScripta. Detalji opis suštine procesa i njegovih karakteristika.

Konvencionalno sredstvo za sušenje (ENG. sakriti) ili pokazati (eng. prikaži.) HTML element dokumenta nije moguć. Da biste to učinili, koristite CSS nekretninu prikaz. ili vidljivost.. Razlika između njih je to vidljivost.Iako čini HTML element nevidljivim, ali mjesto koje on zauzima, ostaje iza njega. Jasno je da se mnogo češće koristi prikaz..

prikaz. (s engleskog jezika. prikaz) - višenamjenska imovina koja određuje kako se element treba prikazati u dokumentu.

Lista mogućih vrijednosti svojstava CSS-a prikaz., shvaćene raznim preglednicima, nije sjajno, ali ovo je dovoljno sasvim dovoljno.

  • blok - Element je prikazan kao blok. Upotreba ove vrijednosti za ugrađene elemente, poput raspona Oznaka, uzrokuje da se ponaša poput blokova, I.E. Veslanje se odvija na početku i na kraju sadržaja.
  • u redu - Stavka se prikazuje kao ugrađeni. Upotreba ove vrijednosti za blok elemente, poput DIV oznake, uzrokuje da se ponaša kao ugrađeni, i.e. Njegov sadržaj će početi s mjestom na kojem je završen prethodni element.
  • lista-artikl. - Element se prikazuje kao blok, a oznaka liste se dodaje.
  • nijedan - Sakriva element u dokumentu. Mjesto zauzeto od njih nije rezervirano, a web stranica se formira kao kao element i nije bilo.

Jasno je da je u cilju promjene imovine CSS-a određenog HTML elementa, morate koristiti programski jezik skriptiranja. U našem slučaju, to je JavaScript. Ali sve je u redu.

Prije svega, morate odlučiti kako se tačno obratiti HTML elementu dokumenta. Da biste to učinili, možete koristiti metodu GeteleMetbyID objekta objekta dokumenta koji vraća referencu na HTML element ID-a atributa ID-a. Na primjer:

dokument.getelemetebbyid ("test")

Sada moramo pristupiti svojstvima stila odgovarajućeg HTML elementa. Ovo koristi svojstvo u stilu. Na primjer:

dokument.getelemetbyid ("test"). Stil.display

Ostaje samo za stvaranje elementa kontrole koja bi prebacila vrijednosti imovine CSS prikaz., na bilo kojem događaju, na primjer onclick (kliknite miš). Vrijedno je obraćati pažnju na činjenicu da ćete riješiti zadatak, trebat ćete provjeriti trenutnu vrijednost imovine CSS-a prikaz. I promijenite ga u "suprotno". U našem slučaju, da se sakrijemo, koristit ćemo vrijednost nijedani za prikaz "Prazno". U drugom slučaju uklanjamo imovinu CSS-a prikaz. U odgovarajućem elementu, koji će omogućiti pravilno raditi i sa blokovima i ugrađenim HTML elementima.

Za jasnoću, dat ću sljedeći primjer:

Promjena.

Imajte na umu da DIV tag ima atribut stila sa zaslonom: nijedna vrijednost. Na ovaj način? Sperificiramo vrijednost CSS svojstava prikaz. Prema zadanim postavkama, jednakim nijedan. HTML element će se u početku biti skriven.