Jak na web
Tato stránka je určena především začínajícím uživatelům, kterým chci ukázat, jak je možné jejich stránky zneužít, zkrátka jak na web. V žádném případě to ale neznamená, že jakmile web publikujete, hned se objeví desítky hackerů.
Jak na web - návody ../HTML/Základy, XHTML, JavaScript, CSS
Formuláře a délka vstupu
Zdrojový kód vašeho webu si každý může změnit podle vlastního vkusu, proto je nutné dodržovat několik pravidel při tvorbě formulářů. Ta je většinou limitována pomocí atributu maxlength="délka", pokud tuto délku někdo změní, může způsobit problémy vaší databázi a nebo můžete mít stránku plnou nesmyslných znaků. Proto je lepší vstup oříznout serverovým skriptem (PHP, ASP) a atribut maxlenght uvést jen pro ty 'slušné' návštěvníky, aby měli kontrolu nad svým textem.
substr($vstup,0,160); // oříznutí pomocí PHP na 160 znaků
Hidden
Skrytý prvek, který předává určený obsah skriptu, pokud do něj vložíte důležité informace můžete se připravit o výdělky. Ukázka jak je možné řešit internetový obchod:
<input type="hidden" value="12000.00Kč" name="televize">
To si mohu upravit dle své chuti třeba (value="-12000Kč"). Dostanu potom televizi a 12000Kč??
Ochrana vstupů, které budou zobrazeny na vaší stránce
To se týká knih, diskuzí a co já vím ještě. Představte si, že by mohl návštěvník jako text zapsat nějaký skript, třeba v JavaScriptu nebo PHP, to by asi nebylo moc dobré. Pomocí PHP vám kdokoli může smazat soubory, obsah databáze atd. JavaScript sice není tak 'zákeřný', ale pár fíglů s ním také jde.
<script> location.href="http://www.nejake_stranka.cz" </script>
Při zobrazení této stránky budete automalticky přesunuti na nějakou jinou stránka (taková reklama zadarmo). Nebo můžete na stránku vkládat reklamní banery (ale to je skoro zbytečné, když můžete návštěvníka přesunout). A s využitím PHP se dají také dělat zajímavé věci - minimálně můžete změnit vzhled a obsah ostatních stránek webu.
$text = "cokoli, co chcete uložit do souboru"; // pokud text nezadáte bude obsah stejně vymazán $soubor = fopen("stranka_kterou_chcete_měnit.html", "w+"); fwrite($soubor, $text); fclose($soubor);
Tímto otevřete daný soubor vymažete jeho obsah a vložíte do něj nový text. Smazání souboru
unlink("soubor_který_chci_odstranit.html")
A samozřejmě se můžete dozvědět hesla uložená v souborech, pouze si pomocí PHP zobrazíte obsah souboru, tak aby se skript neprovedl. (Stejným způsobem se dostanete k heslům pro databáze - ze souboru, který se k nim připojuje):
$soubor = fopen("heslo.php", "r"); $text = fread($soubor, 100000000000); echo (htmlspecialchars($text));
Z toho plynou dvě věci, že škoda nemusí být vždy zjevná a že je dobré si stránky občas postupně projít. Pokud jde o změnu obsahu, není problém web nahrát znovu, ale samozřejmě je lepší se bránit hned a žádné problémy neřešit. Zde jsou funkce, které budou tagy brát jako obyčejný text (< - <)
echo(htmlspecialchars("<b id="identifikátor">tučně<b><? nějaký zlý skript ?>")); // vypíše 'htmlspecialchars("<b id=\"identifikátor\">tučně<b><? nějaký zlý skript ?>'
echo(htmlentities("<b id="identifikátor">tučně<b>")) // funguje stejně jako htmlspecialchars()
Tyto funkce převedou uvozovky na tvar \" což nemusí být vždy nejlepší protože někdo chce uvozovky zapsat. Proto je možné je odstranit (nevýhodou je, že budou odstraněna všechna lomítka):
echo(stripslashes("c:\web\soubor, \"soubor.txt\"")) // vypíše c:websoubor, "soubor.txt"
Ochrana vlastní identity
Pokud na vašem webu návštěvníci mají možnost něco napsat a podepsat se pod to, je vhodné, kyž jim poskytnete možnost registrace, alespoň částečně tím zamezíte zneužívání identit a toho, že se někdo bude podepisovat vaším jménem a nadávat všem kolem.
Jak na web?
Jak na web? Dodržujte pravidla slušnosti, nepodepisujte se cizím jménem, neškoďte na webu. A z druhé strany, nečekejte, že Vám všichni vyjdou vstříc a budou slušní ;-)
Zajímavé: Jak na heslo
+Zajímavé: Jak skrýt reklamu
Vyhledávání
Základy
Rozšíření
Příklady
- PHP scripty
- Kniha návštěv
- Ochrana e-mailu
- Malé šablony
- Počítadlo návštěv
- Odeslání e-mailu
- Generování formuláře
- IP adresa
- RSS čtečka
- Heslo
- Zaheslování jedné stránky
- Ověření e-mailu
- Odstranění diakritiky
- Aktuální datum a čas
- Vypsání souboru
- Počet souborů v adresáři
- Vypsat název dne
- Vypsat název měsíce
Ostatní
Poradna
Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.