Publikováno v sekci PHP v
Poslední dobou když navštěvuji weblogy, vlastní fóra a různé návštěvní knihy, neubráním se menšímu záškodnictví. Téměř každý programátor, který překlenul onu začátečnickou čáru sesnaží se nějakým způsobem zabranit špatnému vstupu z formulářových polí.
Když pominu funkce addslashes (přidá zpětná lomítka pokud někdo vloží uvozovky - velmi dobré když zapisujeme data do databáze), htmlspecialchars (převede potencionálně nebezpečné html tagy na entity a tím zabrání vykonání se onoho tagu), tak spousta uživatelů ověřuje zapis prázdných polí nějak takto:
1: <?php $text_prispevku = $_POST['text_prispevku']; 2: if (strlen($text_prispevku) == 0) 3: echo "Nezadali jste nic, napravte to!"; 4: ??>Jenze to není úplně dobře!. Pokud vložíte kurzor do inputového pole a místo příspěvku uděláte mezerníkem 1 či více mezer, tak předchozí skript je úplně k ničemu. I prázdná mezera je brána jako plnohodnotný string!
Proto náš kód upravíme takto:
1: <?php $text_prispevku = $_POST['text_prispevku']; 2: if (strlen(trim($text_prispevku)) == 0) 3: echo "Nezadali jste nic, napravte to!"; 4: ??>A nyní jsme již chráněni proti vložení prázdného příspěvku.