Autor Zpráva
PEPA
Profil *
Ahoj, poradil by prosím někdo, jak v php vytvořit instanci s názvem který je v url?
Příklad: http://www.domain.ltd/?nazev=pepa
a potřebuji vytvořit instanci $page = New Pepa(...);
Díky za pomoc
Alphard
Profil
Funguje triviální
$page = new $class();
ale pozor na bezpečnost.
PEPA
Profil *
To mě nenapadlo, moc děkuji. A můžete upřesnit, jakou bezpečnost přesně myslíte?
Alphard
Profil
Bezpečnost jsem myslel spíš obecně, když instancujete na základě uživatelského vstupu, tak se to nabízí to připomenout. Jestli je to nějaký router, mohl by třeba umožnit instancovat výhradně potomky nějaké třídy Control apod., prostě nepustit tam libovolnou třídu, i když by tady útočník zřejmě nedokázal zavolat libovolné metody.
Kdyby se z toho routeru ale časem stalo obvyklé domain.com/trida/metoda/parametr, bylo by to při neošetřeném vstupu pro útok mnohem zajímavější.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0