Diskuze: 2 proměnné za sebou fungují?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
řekl bych, že to $namespace a $class prostě změní typ.
Možná to není úplně košer, ale jinak OK. Jde o slabě typované PHP.
A co presne ti neni jasne? Co podle tebe a jak melo fungovat?
$class = "\\\aaa\bbb\ccc_ddd"
ltrim - odstrani ze zacatku stringu \ (str) // "aaa\bbb\ccc_ccc"
strripos - najde od konce pozici posledniho \ (int / false) // -3 nebo strlen("aaa\bbb\")
substr - od 0 po lomitko \ uloz do $namespace // "aaa\bbb"
str_replace - nahrad \ za jiny znak // "aaa/bbb"
substr($class, $last + 1); - ziskej druhou cast na text na konci // "ccc_ddd"
str_replace - nahrad _ za jiny znak // "ccc/ddd"
$file = $namespace . DIRECTORY_SEPARATOR . $class . '.php';
"aaa/bbb" + / + "ccc/ddd" + '.php'
ELSE, pokud tam lomitko neni, cili string je neco takoveho
"aaa_bbb_ccc_ccc"
$file = $class . '.php';
"aaa_bbb_ccc_ccc" + '.php'
Super je, ze cely ten kod ma nulove zabezpeceni. Klidne mu tam muzes dat "../../xxx" nebo "xxx/../../../yyy" nebo ".htaccess"
Dobře měl bych otázku. Jak se tedy vyvaruji této chyby aby někdo nemohl načíst htaccess nebo aby se funkce nedostala kam měla? Děkuji za rady.
Zablokujes to pres htaccess a nastaveni prav u souboru a slozek?
A nebo muzes kontrolovat strom slozek.
Ten algoritmus nedela zadna overovani. Sice pekne posklada adresu, ale to je
vsechno.
Aha tak to jo. Mě jde jen o to načíst třídy které mají namespace. Myslel jsem že je přímo v tom kódu nějaká bezpečnostní chyba?
Zobrazeno 8 zpráv z 8.