Նկարագիրը Կան իրավիճակներ, երբ դուք չեք ցանկանում միանգամից հանել էջի ամբողջ բովանդակությունը: Օրինակ, բաժնում » ՀՏՀ.«Հանգստացնել հարցերի միայն անունները: Եվ եթե մարդը հետաքրքրված է որոշակի հարցի պատասխանով, նա կարող է պատասխանը բացել, եւ երբ նա հետեւում է, այսուհետեւ փակվում է: Եվ Դրա համար ես պատրաստեցի պարզ Սցենարը JavaScript- ի վրաՁեզ թույլ տալով բացել կամ թաքցնել հատուկ տեքստ (ընդհանուր առմամբ, որոշակի տարրեր), այսինքն Թաքնված տեքստ JavaScript- ի վրա.
Արդյունք. Կտտացրեք հարցի անունը: Եթե \u200b\u200bկրկին սեղմում եք, պատասխանը կրկին կառչած կլինի:
Հարց 1-ին:
Պատասխան համարը 1.
Հարց # 2:
Պատասխան 2 համարը:
JavaScript կոդ (Տեղադրեք պիտակների միջեւ) մի քանազոր):
HTML կոդ (Տեղադրեք պիտակների միջեւ) մի քանազոր):
Հարց 1-ին:
Հարց # 2:
Անկեղծ ասած, դա անհրաժեշտ չէ որեւէ ծրագրի համար, հիմնականում JavaScript- ի ցանկացած կոդ հեշտությամբ նայում է զննարկչի մեջ, եւ, հետեւաբար, ձեր ծածկագիրը թաքցնելու հատուկ պատճառներ չկան: Սա, այսպես ասած, տեսանելի, ինչը չի կարելի թաքցնել: Այնուամենայնիվ, կան տղաներ, ովքեր շատ ամաչկոտ են իրենց ծածկագիրը ցույց տալու համար, հաշվի առնելով, որ այս գույքը չի կարող գողանալ, գրադարաններ ասելով: Դուք ստեղծել եք առցանց ծառայություն, մասնավորապես ստեղծել է հզոր համալիրի գրադարան, որը կատարում է որոշակի գործողություններ, ձեր ծառայության անալոգներ չկա, ձեր գրադարանը չկա, եւ, բնականաբար, չեք ցանկանա տեսնել ձեր սցենարը եւ կարող եք անել ձեր սցենարը Օրինակ, նման, նույնիսկ ավելի լավ: Իհարկե, ոչ մի վատ բան չկա ավելի լավ բան անելը, դա էվոլյուցիան է, բայց բիզնեսի տեսանկյունից մրցակիցները միայն ձեռքով են:
Ինչ է անհրաժեշտ դրա համար:
Ձեզ հարկավոր է միայն հասկանալ ալգորիթմը եւ փորձել բարելավել այն, եւ ես վերամիավորում եմ ձեր փորձը, քանի որ թաքնված գրություններ եմ արել: Առաջին բանը, որ մենք պետք է `առաջադրանքը իրական (տեղական) սերվերի վրա փորձարկելն է, ես դա կանեմ Denwer- ի հետ Տեղական սերվեր.բայց)Փորձարկման համար սերվերի վրա գրացուցակ ստեղծեք:
Ես շարունակում եմ Վիրտուալ սկավառակ, Ես ունեմ այս սկավառակ r, գնացեք այնտեղ գնալ տան թղթապանակ
Ստեղծեք սցենարի գրացուցակ, եւ ներսում Ստեղծեք www Թղթապանակ, արդյունքում հաջողության կհասնեք. Տուն / սցենար / www / - Դրանից հետո, համոզվեք, որ թարմացրեք սերվերը (վերագործարկեք Denwer)
բ) Ստեղծեք index.php ֆայլ - Օրինակ, սա մերն է Հիմնական էջ Կայքը, եւ այստեղ մենք պետք է հեռացնենք թաքնված գրությունները: Այս գրացուցակում ստեղծեք նաեւ «JS» թղթապանակը:
Մեր առաջադրանքի համար կպահանջվի Ajax- ի պահանջներ, դրա համար կարող եք օգտագործել ձեր ռացիոնալ գործառույթները, բայց եթե ձեր նախագիծը կաճի չափերի, որոնք կպահանջեն հատուկ էֆեկտների, իրադարձությունների, այսպես «JS» թղթապանակի արմատում ավելացրեք JQuery.js:
Այնուհետեւ ստեղծեք նույն թղթապանակում Նոր թղթապանակԱյն սցենարները, որոնք մենք պետք է թաքնվեն, կպահպանվեն դրանում: Ես դա կներկայացնեմ «Անվտանգություն».
մեջ)Մենք հավաքագրում ենք նախադիտման ծածկագիրը Index.php- ում
Ինչպես տեսնում եք, կա բլոկ
PHP- ն ենթադրում է ձեր գրությունները կարդալու դերը, որոնք արգելափակվելու են սերվերի վրա, եւ այն չի կարող կիրառվել դրանց վրա:
Բայց նախ եկեք ստեղծենք մեր գրությունները, որոնք ուզում ենք թաքնվել:
դ) Անվտանգության թղթապանակում ստեղծեք Script1.js եւ Script2.js, համապատասխանաբար, նման բովանդակությամբ.
Օրինակ, դա բավարար է: Հիմա, որպեսզի նրանց հետ կապվենք անհնար է, դուք պետք է այն սերվերի վրա հարցնեք, դա արվում է File.htaccess:
HTACCESS- ը կազմաձեւման ֆայլ է, որը սահմանված է այս սերվերի ծրագրավորողի կողմից:
HTACCESS- ը ունի այդպիսի բովանդակություն.
Դրանից հետո, խնդրանքով.
Դուք կտեսնեք սա.
Այսպիսով, ձեր անվտանգության թղթապանակը թաքնված է աչքերից, դա անհասանելի է:
Եթե \u200b\u200bփորձեք միացնել սցենարները.
Հետո ամեն դեպքում ձեր ֆայլերը չեն կատարվի, քանի որ դրանք աշխարհում թաքնված են սերվերի կողմից
ե)Վերադարձեք ծրագրի PHP բլոկ ինդեքսում .Php
Ներքեւի գիծն այն է, որ PHP- ն ունի սերվերի բոլոր ֆայլերի հասանելիությունը, անկախ նրանից, թե դրանք թաքնված են, թե ոչ, այսինքն, եթե գրանցվեք.
ապա Բ. Այս դեպքը Մենք կտեսնենք մեր թաքնված սցենարի բովանդակությունը:
Այնուամենայնիվ, մեկ այլ սերվերից մեր սցենարի բովանդակությունը չի կարող դիտվել, եւ սխալի հաղորդագրությունը վերադարձվում է 500-ը: Սա մեր ձեռքն է, ուստի այլ կայքեր չեն կարողանա կարդալ մեր թաքնված ֆայլերը:
ե)Այսպես կլինի վերջնական արդյունքը,
Եվ հիմա մենք գործ ունենք, թե ինչպես է այն գործում: jquery- ը կատարում է փոստային հարցումը (սա օգնում է խուսափել ցուցանիշի անցքերից). Php- ի անցքերից) «index.php? Սերվերի «http: / / script» - C Հաշվի առնելով այս օրինակի հաշիվը), ապա սցենարը ստուգում է հետընտրական փոփոխականը, այսինքն `մեր թաքնված սցենարի հասցեն եւ տեքստի արդյունք է տալիս: jquery- ի արված () մեթոդը պատասխան է ստանում այս տեքստի բովանդակության տեսքով, եւ այս տեքստը կարող է վերածվել JavaScript- ի աշխատելու, սա դարձնում է ստանդարտ խաչմերուկի գործառույթը ();
Ի վերջո
Մենք ստանում ենք մեր արդյունքը, մեր սցենարները չի կարելի տեսնել ստատիկ կամ դինամիկ զննարկչի վահանակի միջոցով, բայց հեշտ է տեսնել նրանց աշխատանքը: Այս սցենարներն ու դրանց գործառույթները հեշտությամբ կատարվում են: Այնուամենայնիվ, անհրաժեշտ է լավ մտածել այս տեխնիկան կիրառելու համար, քանի որ այս դեպքում բարձրացվում է կատարման խնդիրը: Գերազանց (կոդ) գործառույթը մեջ է javaScript մշակողները Դա համարվում է չարիք, եւ խորհուրդ է տրվում օգտագործել նոր գործառույթի իր անալոգը («Վերադարձի» + ծածկագիրը), չնայած վերջինս չգիտի, թե ինչպես կարելի է որոշել գործառույթները ներսում, եթե գործառույթի սահմանումը գրանցվի ձեր փոփոխականում , Կոդ \u003d "գործառույթի թեստ () (ահազանգ (1);); Թեստ (); «Կոդը չի կատարվի, ինչը նշանակում է, որ Գիտը () մոտենում է կյանքի բոլոր դեպքերին, ճշմարտությունն ունի իր նրբությունները, որոնք դեռ պետք է կարդալ:Երբեւէ թաքցնել ձեզ, որպեսզի թաքնվեք օտարերկրացիների ձեր սցենարի էջում, որն իրականացնում է ընտրացանկի անիրատեսական գեղեցիկ տեսքը կամ այլ գործողություններ իրականացնելը, որը դուք չէիք ցանկանա տեսնել յուրաքանչյուր երկրորդ կայքում:
Եթե \u200b\u200bայդպես է, սույն հոդվածում նկարագրված մեթոդը օգտակար կլինի ձեզ համար ծածկագրի վարույթների հետ միասին: Միեւնույն ժամանակ, ես միանգամից վերապահում կկատարեմ, որ մեթոդը 100% չէ, բայց ոչ պրոֆեսիոնալ եւ մասնագետների մասից այն կպաշտպանի:
Տեսություն
Ենթադրենք, մենք ունենք nojs.php էջ, եւ դրա վրա գաղտնիքն է. JS սցենարը, որը պետք է թաքնված լինի: Զննարկիչը եւ օգտագործողը կարող են սերվերից սցենար ստանալ հետեւյալ եղանակներով.- Սցենարը բեռնումը ուղղակիորեն տեղադրված է էջում կամ բեռնված է DOM- ով;
- Դիտեք պատուհանում գտնվող սցենարը Էջի աղբյուրի կոդ;
- Էջը խնայել բոլոր ֆայլերի կոշտ սկավառակի վրա.
- Հասցեների բարում ուղղակի URL մուտք գործելով:
Երկրորդ եւ երրորդ դեպքում այն \u200b\u200bփոխանցվում է ոչ բոլոր զննարկիչների կողմից (Chrome, Firefox- ը կդարձնի նախկինում ներբեռնված սցենար քեշի կողմից; Օպերան, այսինքն, կրկին բեռնված է սցենարը, բայց առանց հղում ուղարկելու):
Չորրորդ դեպքում հղողը չի փոխանցվում այս չորս զննարկիչներից որեւէ մեկի:
Եթե \u200b\u200bJavaScript- ը դինամիկ կերպով տալիս եք հարցման մեջ հղողի վերնագիրը ստուգելու միջոցով, ապա մենք անմիջապես կպաշտպանենք օպերայից եւ այսինքն, բայց քրտնաջան եւ Firefox- ը ստիպված կլինի ձեռք բերել ինչ-որ բան ձայնագրման համար: Մենք նախ ներբեռնենք մեկ սցենար, որն իր հերթին կբեռնվի մեկ այլ սցենար, մինչդեռ երկու ներլցումները ստուգվելու են HTTP- ի տեղեկատուի համար: Գիտական \u200b\u200bմեթոդը պարզվում է, որ եթե դինամիկ կերպով ստեղծեք սցենար փաստաթղթի վրա: reateeElement էջի վրա («Սցենարի»), այնուհետեւ ջնջեք այն էջից, բայց այն չի աշխատի, բայց այն չի փրկվի:
Պրակտիկա
nojs.php.
Այս էջը նպատակ է հետապնդում ներբեռնել Script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>