ITnetwork Flashka zdarma C# týden
Akce! Pouze tento týden sleva až 80 % na kurzy C# .NET. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Diskuze: Přepínání mezi rozhraními ve směrovači

Aktivity (2)
Avatar
Jirka Luňák:29.5.2018 18:14

Postupuju podle tohoto seriálu:

https://www.itnetwork.cz/…ter-smerovac

Vytvářím si stránku kde vím, že budu potřebovat víc rozhraní. Tedy potřebuju víc šablon pro směrovač. Chci se zeptat jestli je správné řešení, pokud si do složky Pohledy dám rozhraní1.phtml, rozhrani2.phtml ... a v tříde SmerovacKontroler ve třídě zpracuj rozhodnu, které rozhraní použiju na základě toho, který Kontroler bude v url.
Vypadalo by to nějak takto.

if $TridaKontroleru == ('clanek!) {
$this->view = 'rozhrani';
}
else {
$this->view = 'rozhrani2';
}
 
Odpovědět  +1 29.5.2018 18:14
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30.5.2018 7:52

Ja ten clanek nepsal, ale myslim si, ze by to mohlo byt ok.
Zalezi na tom, jakym zpusobem to pouzivas dal. Mozna bys spise mohl udelat dalsi uroven, kontroler, ktery rozhoduje o tom, jakym formatem se zobrazuje obsah. Jakoze v prvni urovni rozhodnes o webpage a v te dalsi o tom, zda se zobrazi stranka, obrazkova galerie, seznam souboru a pod.

Jinak, s kazdym clankem opatrne, porovnat i jina reseni jinde pripadne si precist nejaka forka, kdyz budes neco hledat. Proklikal jsem si to dal ten clanek a narazil na

https://www.itnetwork.cz/…tni-formular
To je samozrejme naprosto spatne pojate zpracovani $_POST.

  • $_POST by se melo predat funkci jako parametr a nepouzivat tuto globalni promennou globalne (asi15 let stara chyba), cili neco jako function zpracuj($parametry, $post)
  • obsah z $_POST bys mel udaje filtrovat proti nezadoucim znakum, obrana proti hackemu (20 let stara chyba)

Prekvapujici, ze ten clanek je z roku 2015 (aspon podle prvniho komentare 29.7.2015 15:52).

 
Nahoru Odpovědět 30.5.2018 7:52
Avatar
 
Nahoru Odpovědět 30.5.2018 11:05
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30.5.2018 11:20

To je slozitejsi problematika. Asi 10 moznosti + ostatni.
Programator by mel osetrit vstupy. Od uzivatele nebo do ruznych funkci.
Vypis do html kodu osetris pomoci htmlspecialchars (viz lnik na clanek).
$_POST je vstup od uzivatele. Dale zalezi na tom, k cemu ho pouzijes.
V pripade meho linku s tim odeslanim na mail, do body-mailu dava primo $_POST['zprava']. Ja do formulare, jako hacker muzu vyplnit html/javascript kod. Pokud tvuj mail otevre zpravu jako html, pak pomoci toho muzu napadnout tve zarizeni. A kdyz se bude hledat zdroj, tak to bude mail odeslany z tveho vlastniho serveru.

 
Nahoru Odpovědět 30.5.2018 11:20
Avatar
Odpovídá na Peter Mlich
Jirka Luňák:30.5.2018 11:30

Aha to samé asi platí pro komentáře k článkům na webu?
Jak přesně se to ošetřuje?

 
Nahoru Odpovědět 30.5.2018 11:30
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30.5.2018 11:55

Mno, tusim v jinem vlakne nedavno nekdo psal (nebo na jinem forku?), ze se to prevadi text se znackami. Neco jako miniBB format. Proste mas program, ktery text precte, preformatuje a pri tom odstrani tagy, ktere tam nemaji byt. A dokonce se to nakonec muze formatovat do jsonu. Coz je format pro javascript a daji se tak resit komentare nebo chat (zasilani zpravicek).
Idealne je jit cestou plain-text, pouzit strip_tags() (php.net/strip_t­ags).
Je to slozita problematika.
Ty clanky tady, navody, to chteji asi co nejjednoduseji. Nicmene, nemit tam zadnou kontrolu, to uz je chyba. Neucit lidi davat tam primy vstup.

 
Nahoru Odpovědět 30.5.2018 11:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.