Inclusion modulok PHP
Inclusion modulok PHP
include () függvény
További részletek a modulok olyan jellemzők
• include () és a require () - csatlakozni, és feldolgozza a megadott fájlt.
Ez a két konstrukció azonosak minden, kivéve, hogy hogyan kezelik kudarca.
Az include () ad Figyelem!. és a require () ad Fatal Error. Más szóval, ne félj használni a require (). ha kell benyújtani egy hiányzó oldal megszűnne feldolgozás. Az include () nem így működik: a script továbbra is folytatja a munkát.
Amikor csatlakozik fájlt a benne lévő kód örökli variábilis régiójának rálátás, amely tapasztalja a kapcsolatot. Bármely változó elérhető, hogy a vonal a hívó fájl elérhető lesz a hívott fájl, attól a pillanattól fogva.
Basic példa közé tartoznak ().
Alapvető példák require ().
Ha a kapcsolat előfordul egy funkciót a hívó fájlban, akkor minden szereplő kód a beillesztett fájlban úgy fog viselkedni, mintha azt belül definiálták. Úgy, hogy követni fogja a változó alkalmazási körét.
Csatlakozás belső funkciók:
Ha egy fájl tartalmazza, elemzés bevétel PHP mód HTML módban elején a cél fájlt, és továbbra után ismét a végén. Emiatt bármilyen kódot belül a cél fájl kell futtatni a PHP-kódot kell helyezni a megfelelő kezdő és záró tag PHP.
Példa közé tartoznak () HTTP-n keresztül
Mivel az include () és a require () különleges nyelvi elem, tegye őket egy blokk nyilatkozatok, ha benne van egy feltételes mondat.
Példa közé tartozik a () és a feltételes blokkokat:
Jelfeldolgozás visszatér: lehetséges, hogy végre egy return () belül a mellékelt fájlt megszüntetése érdekében feldolgozásra, hogy a fájl, és visszatér a forgatókönyvet okozta. Azt is vissza értéket a csatlakoztatott fájlokat. Akkor a hívást olyan mértékű, mint rendesen.
A példák közé tartoznak () és visszatérő ().
$ Bár az értéke 1, mert a kapcsolat sikeres volt. Figyeld meg a különbséget a példákban. Az első felhasználási visszatér () a fájlnak, és mások - nem.
• include_once () és require_once () - közé tartozik, és kiszámítja a megadott fájlt végrehajtása során a forgatókönyvet. Ez a viselkedés hasonlít az include () és a require () azzal a különbséggel, hogy ha a kód egy fájlt már csatlakoztatva van, akkor nem kell újból csatlakoztatni. include_once () és require_once () kell használni azokban az esetekben, amikor ugyanaz a fájl lehet csatlakoztatni és értékelni többször futása során a forgatókönyvet, és azt szeretnénk, hogy győződjön meg arról, hogy ez ténylegesen csak egyszer problémák elkerülésére Ismétlődő függvénydefiníció átirányítás változókat.
Példák include_once () és require_once ().
• get_included_files - visszaadja egy tömb a nevét, a fájlok, amelyek szerepelnek a include (). include_once (). require () vagy require_once ().
• get_required_files - Ez a funkció egy alias a get_included_files (). Fájlok, amelyek szerepelnek vagy a szükséges többszöri jelennek meg a visszaadott tömb csak egyszer.
Megjegyzés. fájlokat tartalmazza auto_prepend_file konfigurációs direktívák. nem tartalmazza a visszaadott tömbben.
Ez létrehoz a kimenet:
• include_path húr - listáját adja könyvtárak, ahol a require () függvényt. include () és fopen_with_path () keres fájlokat. A méret hasonlít a PATH környezeti változót: könyvtárak listájának elválasztva vastagbél UNIX vagy pontosvessző - Windows.
Példa UNIX include_path.
Példa a Windows include_path.
Value. alapértelmezett :. (Csak az aktuális könyvtárba).
A biztonságos programozás
vagy megelőzésére közé tartoznak a PHP-injekció
A leggyakoribb hiba, ez a funkció a kód:
ahol a változó $ modul vezetjük, mint a paraméter a aresnoy karakterláncot a forgatókönyvet (például index.php? modul = main.php).
A hibakód, hogy a bemeneti paramétere kapott és felhasznált ellenőrzés nélkül. Ahhoz, hogy a tartalmát a változó $ modult egyszerűen hozzáadjuk «.php» és a kapott fájl elérési útját csatlakozik.
Potenciálisan veszélyes ebben a tekintetben a jellemzői:
• preg_replace () (a «e» módosító)
Tudod, hogy a szűrőket ebben a változó, de a legjobb megoldás erre a problémára a következő lehetőségek közül:
A design a kapcsoló üzemben. mint ez:
Opció 2. Ellenőrizze, hogy $ modul rendelt egyik érvényes értékek:
PHP is lehetővé teszi, hogy tiltsa le a használatát a törölt fájlokat, a gyakorlati megvalósítás megváltoztatásával allow_url_fopen opció beállítása Off a php.ini konfigurációs fájlban.
Engedélyezése nagy fájlokat
De a beruházó nagy dokumentum fájlok közé beépített funkció nem működik jól. És alapfunkció nincs ellenőrzés a jelenléte a fájlt, hogy mi fog befektetni. A tervezett funkcióinak ilyen hiányosságok vannak. Az oldal tetejére