Autor Zpráva
Greenhorn
Profil *
Ahoj, měl bych dvě, resp. tři otázky:

1) jak v php ošetřit vstupy od uživatelů? Mám podporu php5 následující:
safe_mode On,
register_globals Off,
magic_quotes_gpc Off,
session.auto_start Off.

Na co si dát pozor, kde dělají začátečníci nejčastěji chybu (tedy i já), jak zkrátka co nejlépe, kterými funkcemi ošetřit uživatelské vstupy např. při registraci, při zápisu do fóra, dále co všechno ukazovat, neukazovat, používat POST, GET atd???

2) jak ošetřit php injection, data vstupující do subsystému (mysql), máte na to speciální funkce, nebo se rovnou v sql dotazu používáte proměnné z formuláře? (.. where username = '$_POST['username']')

3) někde jsem slyšel, že je třeba taktéž ošetřovat výstup, tedy to co uživatelům vystupujeme, že musíme počítat s tím, že se případný útočník může dostat ke zdrojovému kódu, to nevím jak chápat, k čemu to může útočník zneužít a jak to ošetřit? Souvisí to s tím, že může získat script ze stránky např. db.php, kde jsou hesla do databáze mysql?

Děkuji za rady k bezpečnosti. mysql používám taktéž 5.
Mastodont
Profil
Umíš anglicky?
djlj
Profil
Greenhorn
1. Čísla pomocí intval, zbytek addslashes a pak samozřejmě třeba ještě regulární výrazy v případě emailu (když už píšeš jako příklad tu registraci) apod.

2. mysql_real_escape_string, addslashes.
Aleš Janda
Profil
3) vše, co jde zpátky na výstup, prohnat přes HTMLSpecialChars(). Je to kvůli možnému XSS útoku
Greenhorn
Profil *
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: