Autor Zpráva
Ben
Profil *
Ahoj,
dostal jsem za úkol připravit webový formulář, který bude ukládat data do MySQL tabulky, používaným denně v řádu stovek lidí. Webový formulář bude mít 4 otázky s odpověďmi ano/ne (řešeno přes <input type="radio">) Pátá otázka bude známkování jako ve škole 1-5(řešeno přes <input type="radio">). A poslední bude textové pole o velikosti max. 500 znaků.

Na co všechno si dávat pozor při zpracování tohoto formuláře? Resp. co všechno je potřeba ošetřit např. proti MySQL Injection, ukládání html tagů, atd...
Keeehi
Profil
Použij mysql_real_escape_string.
Tagy se klidně mohou do databáze uložit, jde o to, je potom nevypsat - odstranění tagů strip_tags, převedení tagů na entity htmlentities.
kordy
Profil *
předpokládám, že chceš, aby ti to vyplnil každej jen jednou tak bych ti doporučil hledat script co by si zapisoval IP adresu a neumoznil z znovu napsat ale jak to nevim... musis hledat jestli to tak chces...
Ben
Profil *
kordy:
O zbytek se postarám, jde mi jen o ošetření bezpečnosti, abych na něco nezapoměl :-)
Keeehi
Profil
kordy:
Ty jseš ale chytrej. To že se dá hledat ví taky, ale ptal se na něco jiného. Takže pokud k tomu máš co říct, tak to řekni ale jinak raději mlč.
Ben
Profil *
Keeehi:
Použij mysql_real_escape_string.
Supr, toto jsem hledal.

Díky :-)
Alphard
Profil
Ben:
U těch Ano/Ne bych ukládal jen ty dvě hodnoty (nebo 1/0), nic jiného. Známkování je číslo, takže se jen zajístí, aby to bylo číslo.
U textového pole do databáze zmíněné mysql_real_escape_string() a při výpisu do html pak htmlspecialchars($s, ENT_QUOTES).
Viz http://phpfashion.com/escapovani-definitivni-prirucka.
Ben
Profil *
Alphard

Díky :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0