Diskuze: Výběr stránek pomocí switch?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
200 stránek ve switchi je jasnou chybou v návrhu, include($_GET['stranka']) sebevraždou.
Pro 200 podstránek je správným řešením databáze, ve které jsou i texty.
Kdo by se s tím piplal, když mám databázi, ze které nemá útočník kam utéct, se kterou je to rychlejší a bezpečnější? Navíc články mohu přidávat i bez přístupu na FTP přes vlastní administrátorské rozhraní.
Toto není tutoriál pro web s 200 stránkami S ošetřením vstupů máš pravdu,
ale jak říká kit, tam se to řeší zase přes databázi. Switch mi zde
přijde jako dobré řešení pro malý osobní web někoho, kdo vidí PHP
poprvé.
Když už jsi to tu navrhl, jak bys tedy ošetření udělal a co myslíš direktivou pro vzdálené soubory?
Sice to není na mně, ale funkce basename() by na to měla stačit.
Direktivy pro vzdálené soubory jsou allow_url_fopen a allow_url_include. Určují, jestli je vůbec možné includovat věci z jiných serverů. Teoreticky by to možná stačilo, ale jistější je zabezpečit si to i jinak.
K ukládání stránek do databáze se časem taky dostaneme.
To by určitě nestačilo, viz třeba ../../../../etc/passwd
V ohrožení je i ../.htpasswd, pokud tam je
Máš snad něco proti funkci basename()? Ta udělá vše jedním vrzem.
Jak? Jsou jen 2 zakázané znaky: '/' a '#0'. Funkce basename() vrací text mezi posledním / a prvním #0.
CZechBoY: To se dá nabourat snadno: '/etc/passwd' tím projde. Stačí znát absolutní cestu a dostanu se skoro všude.
Odpovídal jsem na CZechBoY, ale až teď jsem si všiml, že tam nemá
regulární výraz Říkám,
že bych to raději projel na [A-Za-z].
Už jsem si toho také všiml. Omezení může být libovolné. Uznávám, že povolování vhodných znaků je mnohem výhodnější, než filtrování nevhodných. V daném případě tedy použít basename() i regexp.
Také je dobré tyto texty mít v samostatném adresáři, u kterého je zakázáno prohlížení. Do několika set článků je to ještě použitelné, ale s dalším zvyšováním jejich počtu už začne záležet na typu souborového systému. Některé to neustojí a začnou zadrhávat. Jiné s přehledem přežijí i milióny souborů v jednom adresáři.
Zobrazeno 14 zpráv z 14.