Kā paslēpt elementus HTML? Slēpts teksts JavaScript Hidden JavaScript kodu skatā lapā.

Apraksts: Ir situācijas, kad jūs nevēlaties izņemt visu lapas saturu uzreiz. Piemēram, sadaļā " FAQ."Lai izņemtu tikai jautājumu vārdus. Un, ja persona ir ieinteresēta atbildi uz konkrētu jautājumu, viņš var atvērt atbildi, un, kad viņš skatās, tad tuvu. Tas rada ērtības lapā un tās kompaktumu. Un Par to es sagatavoju vienkāršu skripts uz JavaScript.ļaujot jums atvērt vai slēpt konkrētu tekstu (kopumā, noteiktos elementos), tas ir, slēpts teksts JavaScript.

Rezultāts: Noklikšķiniet uz jautājuma nosaukuma. Ja noklikšķināt vēlreiz, atbilde atkal pieķeries.

Jautājuma numurs 1.

Atbildes numurs 1.

Jautājums Nr. 2.

Atbildes numurs 2.

JavaScript kods (ievietojiet starp tagiem un):

HTML kods (ievietojiet starp tagiem un):

Jautājuma numurs 1.



Jautājums Nr. 2.


Godīgi sakot, tas nav nepieciešams jebkuram izstrādātājam, galvenokārt jebkuram JavaScript kodam viegli apskatīt pārlūkprogrammā, un tāpēc nav īpašu iemeslu, lai slēptu jūsu kodu. Tas, lai runātu, redzams, ko nevar paslēpt. Tomēr ir puiši, kas ir ļoti kautrīgi parādīt savu kodu ikvienam, uzskatot, ka šis īpašums nevar nozagt, sakot bibliotēkas. Jūs esat izveidojis tiešsaistes pakalpojumu, kas ir īpaši izveidots spēcīgu kompleksu bibliotēku, kas veic noteiktas darbības, nav analogu jūsu pakalpojuma, nav jūsu bibliotēkas, un, protams, jūs nevēlaties, lai jūsu skripts redzētu katru (izstrādātāju) un varētu darīt jūsu skriptu piemēram, līdzīgi, vēl labāki. Protams, nav nekas nepareizs, darot kaut ko labāku, tas ir attīstība, bet gan no uzņēmējdarbības viedokļa konkurenti ir tikai uz rokas.

Kas tas ir nepieciešams?

Jums tikai jāsaprot algoritms un mēģināt to uzlabot, un es atkārtoju savu pieredzi, jo es darīju slēptos skriptus. Pirmā lieta, kas mums nepieciešams, ir pārbaudīt uzdevumu reālā (vietējā) serverī, es to darīšu ar denwer vietējais serveris.

bet)Lai pārbaudītu, izveidojiet direktoriju serverī.
Es turpinu virtuālais disks, Man ir šis disks r, iet tur iet uz mājas mapi

Izveidot skriptu direktoriju, un iekšpusē izveidot www mape, kā rezultātā jūs gūsti: Sākums / Script / WWW / - pēc tam, pārliecinieties, lai atjauninātu serveri (restartenis)

b) Izveidojiet index.php failu, piemēram, tas ir mūsu galvenā lapa Vietne, un šeit mums ir jānoņem slēptās skripti. Izveidojiet arī mapi "JS" šajā direktorijā.

Mūsu uzdevumam būs nepieciešami AJAX pieprasījumi, lai to varētu izmantot racionālas funkcijas, bet, ja jūsu projekts pieaugs līdz izmēriem, kas prasīs īpašus efektus, notikumus, savienot bibliotēku, un es izveidoju savienojumu iepriekš jQuery, tāpēc Jo saknes mapes "JS» pievienot jquery.js.

Pēc tam izveidojiet tajā pašā mapē jauna mapeSkripti, kas mums ir nepieciešams slēpt, tiks saglabāti tajā. Es nosaucu to "Drošība":

in in)Mēs pieņemam darbā priekšskatījuma kodu index.php


Kā redzat, ir bloks

PHP pieņem lomu lasīšanas jūsu skriptus, kas tiks bloķēti uz servera, un to nevar piemērot tiem.

Bet vispirms izveidosim mūsu skriptus, kurus mēs vēlamies slēpt.


d) Drošības mapē izveidojiet Script1.js un Script2.js ar šādu saturu, attiecīgi:


Piemēram, tas ir pietiekami! Tagad, lai tie nav iespējams sazināties, jums ir nepieciešams uzdot to serverī, tas tiek darīts, pateicoties failu.htaccess.

Htaccess ir konfigurācijas fails, ko iestatījis izstrādātājs, šī servera lietotājs.

Htaccess ir šāds saturs:

Pēc tam pēc pieprasījuma:

Jūs to redzēsiet:

Tādējādi jūsu drošības mape ir paslēpta no prying acīm, tas ir nepieejams.

Ja jūs mēģināt savienot skriptus:

Tad jebkurā gadījumā jūsu faili netiks izpildīti, jo tie ir globāli slēpti ar serveri

e)Atgriezieties programmā PHP bloks index.php

Apakšējā līnija ir tāda, ka PHP ir piekļuve visiem failiem uz servera, neatkarīgi no tā, vai tie ir paslēptas vai ne, tas ir, ja jūs reģistrējaties:


tad B. Šis gadījums Mēs redzēsim mūsu slēptās skripta saturu.

Tomēr no cita servera, mūsu skripta saturs nevar redzēt, un tiek atgriezts kļūdas ziņojums 500. Tas ir mūsu roka, lai citas vietnes nevarēs izlasīt mūsu slēptos failus.

e)Tas izskatās kā gala rezultāts:

Un tagad mēs nodarbojamies ar to, kā tas viss darbojas. jQuery izpilda pasta vaicājumu (tas palīdz izvairīties no caurumiem index.php) uz "index.php? JS \u003d rezultātu" serveri, ir pārbaude, ja pieprasījums no mūsu servera (Strpos () funkciju un adresi mūsu Serveris "http: / / skripts" - C, lai ņemtu vērā šo piemēru), tad skripts pārbauda pēckārta mainīgo, tas ir, mūsu slēptās skripta adresi un sniedz teksta rezultātu. Jquery Gatavs () metode saņem atbildi formā šo teksta saturu, un šo tekstu var pārvērst par JavaScript strādā, tas padara standarta Cross-Tram Function Eval ();

Galu galā

Mēs saņemam savu rezultātu, mūsu skriptus nevar redzēt statiski vai dinamiski caur pārlūkprogrammas konsoli, bet tas ir viegli redzēt savu darbu. Šie skripti un to funkcijas ir viegli izpildāmas. Tomēr ir jādomā labi piemērot šo metodi, jo šajā gadījumā darbības rezultāts, ātrums tiek paaugstināts. Eval (koda) funkcija starp javaScript izstrādātāji Tas tiek uzskatīts par ļaunu, un ieteicams izmantot savu analogu jauno funkciju ("atgriešanās" + kodu), lai gan pēdējais nezina, kā noteikt funkcijas iekšpusē, tas ir, ja funkciju definīcija tiek ierakstīta jūsu mainīgajā , Kods \u003d "funkcijas tests () (brīdinājums (1);); Tests (); ", kods netiks izpildīts, kas nozīmē, ka EVAL () tuvojas visiem dzīves gadījumiem, patiesībai ir savas nianses, kas joprojām ir nepieciešams lasīt.

Vai jūs kādreiz paslēpt jūs slēpt no nepiederošām jūsu skriptu lapā, kas īsteno nereālu skaistu izskatu izvēlni vai veic citas darbības, kuras jūs nevēlaties redzēt drīz katrā otrajā vietnē?
Ja tā, šajā rakstā aprakstītā metode būs noderīga jums saistībā ar kodeksa tiesvedību. Tajā pašā laikā, es darīšu rezervāciju uzreiz, ka metode nav 100%, bet no lielākā daļa neprofesionālu un daļu no profesionāļiem tas aizsargās.

Teorija

Pieņemsim, ka mums ir NOJS.php lapa, un uz tā ir noslēpums.js skriptu, kas ir jāslēpj. Pārlūks un lietotājs var saņemt skriptu no servera šādos veidos:
  1. Skripta ielāde tieši ievietots lapā vai piekrauts ar DOM;
  2. Skatiet skriptu logā Lapas avota kods;
  3. Lapas saglabāšana ar visiem cietā diska failiem;
  4. Ievadot tiešo URL adrešu joslā.
Pirmajā gadījumā pārlūkprogramma obligāti pārraida HTTP header http_referer.
Otrajā un trešajā gadījumā to nosūta ne visi pārlūkprogrammas (Chrome, Firefox izdos iepriekš lejupielādētu skriptu no kešatmiņas; Opera, ti, atkal ielādē skriptu, bet bez nosūtīšanas atsauces).
Ceturtajā gadījumā atsauce netiek nodota uz kādu no šīm četrām pārlūkprogrammām.
Ja jūs dinamiski ievadāt JavaScript vaicājuma pārbaudi, tad mēs nekavējoties pasargāsim no operas un ti, bet Crome un Firefox būs jānāk klajā ar kaut ko ierakstīšanai. Mēs vispirms lejupielādēt vienu skriptu, kas savukārt ielādēs citu skriptu, bet abas lejupielādes tiks pārbaudītas HTTP referer. Zinātniskā metode ir konstatēta, ka, ja dinamiski izveidosiet skriptu dokumentā.CreateEelemelement lapā ("skripts"), un pēc tam izdzēsiet to no lapas, tad skripts darbosies kā parasti, bet tas netiks saglabāts.

Prakse

nojs.php.
Šajā lapā ir mērķis lejupielādēt Script1.php
Atrodiet JS.
Pēc 10 sekundēm, jums vajadzētu redzēt darbu no slēptās skripta formā allert, noklikšķiniet uz saites pēc brīdinājuma, lai pārliecinātos, ka notikumi arī nav nokrist. Šajā saitē jūs varat redzēt slēpto skriptu
script1.php.
Viņa uzdevums: dinamiski lejupielādēt Script2.php, ja ir atsauces galvene. Reizes var samazināt, atkarībā no slēptās skripta aptuvenā laika.
script2.php.
Viņa uzdevums: dodiet beigu skriptu, ja ir atsauces galvene

Rezultāti

Tā rezultātā mēs to varam ne redzēt lapas sākotnējā lapā, kā arī lejupielādēt, ne saglabāt slēpto skriptu ar pārbaudīto četru pārlūkprogrammu palīdzību. Kopumā to var redzēt divos veidos:
  • Dodieties uz saiti, kas tieši vada Script2.php un atrodas mūsu vietnes lapā;
  • HTTP pieprasījuma veidošana, norādot atsauces galveni tajā.
Palielināt efektivitāti slēpt šīs metodes:
  1. Izmantojot mod-pārrakstīšanu, nomainot script1.js un Script2.js serveri uz Script1.js un Script2.js uz Script1.php un Script2.php, attiecīgi, lai lapā ir visi parastie JS faili, kopš PHP strauji skriežas;
  2. Padarīt fiktīvu skriptu pēc iespējas sarežģītāku, ticamu un mulsinošu, lai persona, kas mēģina izjaukt viņu, ir diezgan izlej pirms izpratnes par to, ko viņš tika maldināts;
  3. Apstrādes kods.

Sveiki, lasītājs.
Šajā mazajā rakstā mēs vēlamies pateikt, kā pareizi optimizēt tiešsaistes veikala kategorijas.
Kad mēs sākam optimizēt tekstu, jūs pirmo reizi iestatāt lapu, lai iegūtu maksimālu atbilstību. Kā to izdarīt .
Taču šajā situācijā rodas šādas problēmas - jums ir nepieciešams, lai pabeigtu pārāk daudz teksta, un tas nav piemērots ar vietnes dizainu.
Tātad jums ir nepieciešams paslēpt daļu no lietotāju tekstaBet, ja pēkšņi apmeklētājs vēlas to izlasīt, lai viņš to varētu viegli atvērt.

Interesants risinājums tiek īstenots interneta hipermārketā "ligzda". Piemēram, kategorijas:

Kad mēs noklikšķinām uz šīs saites, tas tiek atvērts pilns apraksts Bez pārstartēšanas lapu. Ja vēlaties īstenot to pašu lēmumu, tad tas ir aprakstīts zemāk, kā tas tiek īstenots praksē.
Šo brīdi var atrisināt JavaScript programmēšanas valodas dēļ.
JavaScript sākotnēji tika izveidots, lai padarītu tīmekļa lapas "dzīvs".
Lai iestatītu tīmekļa lapu javaScript skripti, jums ir jāievada deskriptors. Kodu var novietot kā galvenes korpusā (starp tagiem ) un lapas ķermenī (starp tagiem ).
Lai strādātu ar skriptu, jums ir jāizveido funkcija, kas tiks izmantota jebkurā vietnes daļā. Mēs izmantosim funkciju funkciju sh ()

Lai parādītu skripta darbību, jums ir nepieciešams ievietot to norādītajā vietā šajā veidlapā.

Lasīt vairāk ...



Funkciju sh () sauc šeit.
Uz noklusējuma slēpto tekstu tika atvērts koda maiņā displejs: Nav uz displejs: bloķēt.

Šeit ir piemērs tam, kas pēc tam notika pēc funkcijas teksta:

Šajā piemērā lapā tika paslēptas 3000 SEO teksta rakstzīmes, kas tika izklāstītas, lai veicinātu vietni. Kad noklikšķināt uz saites, saite "Vairāk ..." pazudīs, pateicoties stila stilam.DisPlay norādīja funkciju.
Lai jūs varētu īstenot šo funkcionalitāti. Ja jums ir kādi jautājumi, jautājiet viņiem komentāros.

Vienkāršākais risinājums, lai parādītu / paslēptu dokumenta HTML elementu, izmantojot JavaScript. Sīkāka informācija par procesa būtības aprakstu un tās funkcijām.

Parastie līdzekļi izžūt (ENG. slēpt) vai izstāde (ENG. parādīt.) Dokumenta HTML elements nav iespējams. Lai to izdarītu, izmantojiet CSS īpašumu displejs vai redzamība.. Atšķirība starp tām ir tā redzamība.Lai gan tas padara HTML elementu neredzamu, bet vietu, ko viņš aizņem, paliek aiz viņa. Ir skaidrs, ka tas ir daudz biežāk izmantots displejs.

displejs (no angļu valodas. displejs) - Daudzfunkcionāls īpašums, kas nosaka, kā dokumentā jābūt attēlotam elementam.

Iespējamo CSS rekvizītu vērtību saraksts displejs, saprot dažādas pārlūkprogrammas, nav lieliski, bet tas ir pietiekami.

  • bloķēt - Elements tiek parādīts kā bloks. Šīs vērtības izmantošana iegultiem elementiem, piemēram, span tag, izraisa to uzvesties kā bloki, t.i. Airēšana notiek satura sākumā un beigās.
  • rindā - Vienums tiek parādīts kā iebūvētais. Šīs vērtības izmantošana bloku elementiem, piemēram, div tagu, izraisa to uzvesties kā iebūvēts, ti. Tās saturs sāksies ar vietu, kur iepriekšējais elements beidzās.
  • saraksta punkts. - Elements tiek parādīts kā bloks un pievienots saraksta marķieris.
  • neviens - slēpj dokumenta elementu. Vieta, ko viņi aizņem, nav rezervēta, un tīmekļa lapa veidojas kā elements un nebija.

Ir skaidrs, ka, lai mainītu konkrētā HTML elementa CSS īpašumu, jums jāizmanto skriptu programmēšanas valoda. Mūsu gadījumā tas ir JavaScript. Bet viss ir kārtībā.

Pirmkārt, jums ir jāizlemj, kā sazināties ar dokumenta HTML elementu. Lai to izdarītu, varat izmantot dokumenta objekta Getelemetbyid objekta metodi, kas atgriež atsauci uz ID atribūta ID ID elementa HTML elementu. Piemēram:

document.getelemetbyid ("tests")

Tagad mums ir nepieciešams piekļūt atbilstošā HTML elementa stila īpašībām. Tas izmanto stila īpašumu. Piemēram:

document.getelemetbyid ("tests"). Style.display

Tas joprojām ir tikai, lai izveidotu kontroles elementu, kas varētu novirzīt CSS īpašuma vērtības displejs, jebkurā gadījumā, piemēram, OnClick (noklikšķiniet peles). Ir vērts pievērst uzmanību tam, ka, lai atrisinātu uzdevumu, jums būs jāpārbauda pašreizējā CSS īpašuma vērtība displejs Un mainīt to uz "pretī". Mūsu gadījumā, lai paslēptu, mēs izmantosim vērtību neviensun parādīt "Tukšs". Otrajā gadījumā mēs noņemam CSS īpašumu displejs Attiecīgajā elementā, kas ļaus darboties pareizi gan ar blokiem, gan iegulto HTML elementiem.

Skaidrības labad es sniegšu šādu piemēru:

Izmaiņas.

Lūdzu, ņemiet vērā, ka Div tag ir stila atribūts ar displeju: nav vērtības. Pa šo ceļu? Mēs norādām CSS īpašību vērtību displejs Pēc noklusējuma, vienāds neviens. Sākotnēji HTML elements būs paslēpts.