Potrebujem na stránky registráciu osobných údajov a tak ma zaujíma bezpečnosť. momentálne riešim povolené a nepovolené znaky, ktoré sa vkaldajú do formulára a môžu rozbiť dokument, alebo aj horšie veci. chcel by som zakázať teda všetky nebezpečné znaky.
Viete mi poradiť link na vysvetlenie problematiky? rsp riešenie. ide mi aj o to aby som problematiku pochopil a nie len dostal link s riešením. aj ked aj ten poteší.
ako vidim, vsetci sa trhate mi poradit.. no nasiel som nieco aj sam:
http://www.blog.peteroravec.net/bezpecnost-udajov-zadanych-uzivatelom-v-php
Vetsina lidi po dopolednech pracuje nebo je ve skolach, tak se nediv ze ti nikdo neporadil ;)
Spis by me zajimalo co vsechno povazujes za nebezpecne znaky?
muzes si udelat maly seznam: {()}';-!"<>=&
na vetsinu z toho ti pomuze klasicka funkce php htmlspecialchars(..) ... http://cz2.php.net/htmlspecialchars .. ktera pet z tech znaku preve na htmlentity...
A jeslti to mas jako registraci jmen tak muzes stripovat zavorky(i slozene) - nikdo nema jmeno (skutecne, nick nepocitam) se zavorkama :D
<HTML>1okaty: tobě to tady na fóru fungovat <i>nebude</i> ;)
Jinak každá skupina znaků může být nebezpečná v jiné aplikaci. Někde se ti nehodí HTML znaky, někde chceš ošetřit pouze všechny uvozovky kvůli SQL dotazům, jindy zase nechceš, aby ti někdo propašoval do vstupu odřádkování, někdy se chceš třeba zbavit lomítka v rodném číslu atd. atd. Možností je bezpočet a je na fantazii programátora - uvědomit si, které znaky jsou vlastně v dané situaci škodlivé/nepotřebné a kterou funkci na ně použít.</HTML>
Nebo staci pri zpracovani neco jako:
<?php
$invalid = array("<", ">");
$valid = array("<", ">");
$_POST['text'] = Str_Replace($invalid, $valid, $_POST['text']);
?>
Podle libosti si pridavej znaky.
Jednoduche, pochopitelne, funkcni :-)
<HTML><small>SatchmO: upraveno. Příště měj na paměti, že se entity překládají, chceš-li tedy napsat <, musíš napsat &lt;</small></HTML>