Leírás: Vannak olyan helyzetek, amikor nem szeretné visszavonni az oldal teljes tartalmát egyszerre. Például a " GYIK."Csak a kérdések nevét visszavonja. És ha egy személy érdekli a választ egy bizonyos kérdésre, megnyithatja a választ, és amikor figyeli, majd közel. Ez létrehozza az oldal kényelmét és tömörségét. És Ehhez egyszerűen készítettem script a JavaScript-enLehetővé teszi, hogy megnyitja, vagy elrejtsen egy adott szöveget (általában bizonyos elemek), azaz rejtett szöveg a JavaScript-en.
Eredmény: Kattintson a kérdés nevére. Ha ismét rákattint, a válasz ismét ragaszkodik.
1. kérdés.
Válasz 1. szám.
2. kérdés.
Válasz 2. szám.
JavaScript-kód (Helyezze be a címkéket és):
HTML kód (illeszkedés a címkék között és):
1. kérdés.
2. kérdés.
Őszintén szólva, nem szükséges bármilyen fejlesztő számára, többnyire bármilyen JavaScript-kód könnyen megjelenik a böngészőbe, ezért nincsenek különleges okok a kód elrejtésére. Ez, így beszélni, látható, mi nem lehet rejtve. Vannak azonban olyan srácok, akik nagyon félénkek, hogy megmutassák a kódot bárkinek, figyelembe véve, hogy ez a tulajdonság nem lophat, mondván könyvtárak. Ön létrehozott egy online szolgáltatást, kifejezetten létrehozott egy erőteljes komplex könyvtárat, amely bizonyos műveleteket végez, nincs analógja a szolgáltatás, nincs könyvtár, és természetesen nem akarja, hogy a parancsfájl mindegyik (fejlesztő) láthassa Példa Hasonló, még jobb. Természetesen semmi baj nincs valami jobb, ami jobb, az evolúció, de az üzleti szempontból a versenytársak csak a kezében vannak.
Mire van szükség ehhez?
Csak meg kell értened az algoritmust, és megpróbálnád javítani, és rámutatok a tapasztalataidat, amikor rejtett szkripteket tettem. Az első dolog, amire szükségünk van, hogy teszteljük a feladatot az igazi (helyi) szerveren, ezt tesszük Denwerrel helyi szerver.de)A teszteléshez hozzon létre egy könyvtárat a kiszolgálón.
Tovább megyek virtuális lemez, Van ez a meghajtó r, menj oda az otthoni mappába
Script könyvtár létrehozása, és a WWW mappa létrehozása, ennek eredményeképpen sikerül: Home / Script / Www / - Ezután frissítheti a szerver (Restart Denwer)
b) Hozzon létre egy index.php fájlt - például ez a miénk főoldal. Helyszín, és itt kell eltávolítanunk rejtett parancsfájlokat. Hozza létre a "JS" mappát is ebben a könyvtárban.
Feladatunkban az AJAX kérésekre lesz szükség, ezért használhatja a racionális funkciókat, de ha a projekt növekedni fog, akkor a speciális effektusok, események, kapcsolatok összekapcsolása, és az előzetes jquery A "JS" mappa gyökerében a jquery.js hozzáadása.
Ezután hozzon létre ugyanabban a mappában Új mappaAz elrejtendő szkriptek tárolódnak benne. Megnevezem "biztonság":
ban ben)Toborozzuk az index.php előnézeti kódját
Ahogy látható, van egy blokk
A PHP feltételezi, hogy a szerveren blokkolt szkriptek olvasásának szerepét, és nem alkalmazható rájuk.
De először hozzunk létre szkriptünket, amelyeket el akarunk rejteni.
d) A Biztonsági mappában a Script1.js és a Script2.js létrehozása, az ilyen tartalmakkal:
Például elég! Most, hogy nem lehet kapcsolatba lépni velük, megkérdeznie kell a szerveren, ezt a fájl.htaccessnek köszönheti.
A Htaccess egy konfigurációs fájl, amelyet a fejlesztő, a felhasználó felhasználója.
A Htaccessnek van ilyen tartalma:
Ezt követően a kérelemben:
Ezt látni fogja:
Így a biztonsági mappája rejtve van a csillogó szemekből, nem érhető el.
Ha megpróbál csatlakozni a parancsfájlokat:
Ezután minden esetben a fájlokat nem fogják végrehajtani, mivel a szerver globálisan el van rejtve
e)Visszatérés a PHP blokk programba az Index.php-ben
Az alsó sor az, hogy a PHP hozzáférést biztosít a kiszolgáló összes fájljához, függetlenül attól, hogy rejtettek-e vagy sem, azaz, ha regisztrál:
Ezután B. ez az eset Meglátjuk a rejtett szkript tartalmát.
Egy másik szerveren azonban a szkriptünk tartalma nem látható, és hibaüzenetet küldünk vissza 500-ra. Ez a mi kezünk, így más webhelyek nem tudják elolvasni rejtett fájljainkat.
e)Így fog kinézni a végeredmény:
És most foglalkozunk azzal, hogyan működik. A JQUIERY végrehajtási lekérdezést hajt végre (ez segít az index.php-ben lévő lyukak elkerülésében) az "index.php? Szerver "http: / / script" - c a példa alapján), akkor a szkript ellenőrzi a post-változót, azaz a rejtett szkript címét, és szöveges eredményt ad. A JQuery Done () módszer választ kap a szöveges tartalom formájában, és ez a szöveg átalakítható egy JavaScript munkához, ez teszi a standard kereszt-villamossal Eval ();
Végül is
Az eredményünket kapjuk, a szkriptünket nem lehet statikusan vagy dinamikusan látni a böngésző konzolon keresztül, de könnyű látni a munkájukat. Ezek a szkriptek és funkciók könnyen végrehajthatók. Azonban azt kell gondolkodni, hogy ezt a technikát alkalmazzuk, mivel ebben az esetben a teljesítmény, a sebesség felmerülése. Eval (kód) függvény között javaScript fejlesztők Gonosznak tekinthető, és javasoljuk az új funkció analógját ("Return" + kód), bár az utóbbi nem tudja, hogyan kell meghatározni a belsejében lévő funkciókat, vagyis, ha a függvény definíciója a változóban van rögzítve , Kód \u003d "Funkciós teszt () (riasztás (1);); teszt (); ", a kódex nem teljesül, ami azt jelenti, hogy az eval () megközelíti az élet minden esetét, az igazságnak saját árnyalatai vannak, amelyek még mindig olvasniuk kell.Akár elrejteni, hogy elrejtse Önt, hogy elrejtse a kívülállóktól a script oldalán, amely egy menüben irreális szép megjelenést valósít meg, vagy más műveleteket végez, amelyeket nem szeretne hamarosan látni minden második webhelyen?
Ha igen, az ebben a cikkben leírt módszer hasznos lesz Önnek a Kódex eljárással összefüggésben. Ugyanakkor egyszerre fenntartást fogok tenni, hogy a módszer nem 100%, de a legtöbb nem professzionális és a szakemberek részét védi.
Elmélet
Tegyük fel, hogy Nojs.php oldalunk van, és rajta a titkos szkript, amelyre el kell rejteni. A böngésző és a felhasználó a következő módokon kaphat egy szkriptet a szerverről:- A forgatókönyv feltöltése közvetlenül az oldalra vagy a DOM-val betöltve;
- Tekintse meg a szkriptet az ablakban Az oldal forráskódja;
- Az oldal mentése minden merevlemezen lévő összes fájllal;
- Közvetlen URL-cím beírása a címsorban.
A második és harmadik esetben az összes böngésző (króm, a Firefox egy korábban letöltött szkriptet ad ki a gyorsítótárból, azaz azaz a forgatókönyv újra betöltése, de a referencia küldése nélkül).
A negyedik esetben a hivatkozó nem kerül át a négy böngészőre.
Ha adsz javascript dinamikusan ellenőrzésével Referer fejléc a lekérdezést, akkor azonnal védve Opera és az IE, hanem CROME és a Firefox lesz, hogy dolgozzon ki valamit a felvételhez. Először letöltünk egy parancsfájlt, amely viszont egy másik szkriptet betöltődik, míg mindkét letöltés ellenőrizni fogja a HTTP hivatkozást. A tudományos módszer megtalálható, hogy ha dinamikusan hozzon létre egy szkriptet a dokumentumban.CreateEelement oldal ("Script"), majd törölje azt az oldalról, akkor a szkript a szokásos módon fog működni, de nem fog megmenteni.
Gyakorlat
nojs.php.
Ez az oldal a célt letölti a script1.php letöltéséhezheader("Content-Type:text/html;charset=utf-8"); ?>