Zabezpečení

10 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. <?php if (isset ($GET_["serial"])) $serial = $GET_["serial"]; if (isset ($GET_["stranka"])) $stranka = $GET_["stranka"]; else echo "Stránky nejsou dostupné"; ?> Proč mi to vypisuje "Stránky nejsou dostupné" ikdyž zadám do vyhledávače index.php?serial=zavod&stranky=auto ? :)
  2. viz &stranky=auto (isset ($GET_["stranka"])) $stranka = $GET_["stranka"];
  3. ds: Už jsem na to přišel bylo to hlavně tím, že jsem si tam dal $GET_["stranka"] a správně tam má být $_GET["stranka"] ta čárka dole... :)
  4. Tak už jsem dokončil to co jsem chtěl co na to říkáte? <?php if (isset ($_GET["serial"])) $serial = $_GET["serial"]; else $serial = "novinky"; if (isset ($_GET["stranka"])) $stranka = $_GET["stranka"]; else $stranka = "1"; $soubor = "$serial/$stranka.php"; if (file_exists ($soubor)) include $soubor; else include "stranka-neexistuje.php" ?>
  5. Už se asi budu opakovat, ale říkám na to toto: a) Nelíbí se mi zápis podmínky na více řádcích (součástí if je i závorka s hodnotou vstupující do podmínky), stejně tak bych se pro přehlednost držel používání složených závorek (tzn. dělení do bloků). Třeba takto: if(isset ($_GET["serial"])) { $serial = $_GET["serial"]; } else { $serial = "novinky"; } Případně takto triviální podmínky (kdy zapisuješ v každém případě do jedné proměnné) zapisovat pomocí ternárního operátoru: $serial = isset ($_GET['serial']) ? $_GET['serial'] : 'novinky'; b) Nelíbí se mi použití uvozovek místo apostrofů. Ale to je spíš otázka zvyků a osobních preferencí. c) A hlavně se mi nelíbí to, co se stane na adrese ?serial=.&stranka=index Co se týče možnosti c), tu jsme probírali již v jiném vlákně (jak si jistě dobře vzpomeneš).
  6. Ohledně zápisu se názory liší a různé firmy mají různý coding style. Osobně preferuji poněkud úspornější zápis, např. takto: if(isset ($_GET['serial'])){ $serial = $_GET['serial']; }else{ $serial = 'novinky'; } Použití ternárního operátoru je v daném případě skutečně výhodnější a rychlejší. Uvozovky mají trochu odlišné použití než apostrofy, je skutečně lepší použít apostrofy tam, kde je to možné. Ovšem v daném případě uvozovky nejsou chybou. Možnost c) mě napadla asi současně. Je dalším důvodem pro použití databáze.
  7. Freeze dal jsem na tvoje rady kromě ternárního operátoru, protože mu moc nerozumím a web nedělám na profesionální úrovni, takže třeba to, že bych měl stránku načtenou o 8ms mě nějak netápí. a) dodělal jsem ty závorky b) předělal jsem ty uvozovky a dal jsem tam apostrofy c) zakázal jsem tečky takže adresu ?serial=.&stranka=index si už můžeš napsat, stejně ti to vyhodí $serial = "novinky"; <?php if (isset ($_GET['serial']) && substr_count($_GET["serial"], ".") < 1) { $serial = $_GET['serial']; } else { $serial = "dexter"; } if (isset ($_GET['stranka'])) { $stranka = $_GET['stranka']; } else { $stranka = "titulky"; } $soubor = "$serial/$stranka.php"; if (file_exists ($soubor)) include $soubor; else include "stranka-neexistuje.php" ?> Co na to říkáte a díky za čas, který tu se mnou trávíte.. :)
  8. Sorry teď to nevyhodí $serial = "novinky"; ale $serial = "dexter"; :D
  9. <HTML>Pořád se mi to nelíbí: ?serial=&stranka=absolutnicestabezprvniholomitka/index ?serial=castaboslutnicesty&stranka=zbytekabsolutnicesty/index ?serial=absolutnicesta&stranka=index Tohle všechno projde a zacyklí ti skript. Prosím tě, buď tak hodnej a zamysli se nad použitím nějaké databáze. I ta nejprimitivnější (textový soubor, co řádek, to seriál) ti ušetří pěkných pár bezpečnostních problémů.</HTML>
  10. A k čemu to vůbec vadí, že mi někdo zadá tuhle adresu? Vyhodí mu to chybu a co dál ostatním uživatelům to nějak neovlivní průběh na stránkách. :) Na stránky stejně nemůže nic zapsat když nenastavím atribut, který mu to dovolí... :)

← Zpět na všechna témata