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:- Skripta ielāde tieši ievietots lapā vai piekrauts ar DOM;
- Skatiet skriptu logā Lapas avota kods;
- Lapas saglabāšana ar visiem cietā diska failiem;
- Ievadot tiešo URL adrešu joslā.
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.phpheader("Content-Type:text/html;charset=utf-8"); ?>