Autor Zpráva
laijk
Profil
Ahojte, neviem ako mám ošetriť formuláre, nenašiel som o tom žiaden dobrý článok, napr. funkcia htmlspecialchars - keď som ju skúsil na localhoste a skúsil som poslať cez formulár tagy "<u></u>" tak mi to vypísalo podčiarknuté písmená
Šéva
Profil
Ahoj,
toto se tu probíralo už mnohokrát, nicméně opakování je matka moudrosti...
hlavně si pročti Alpharduv odkaz
Ošetření vstupu u formuláře
a další
laijk
Profil
Ďakujem, chcem sa ešte opýtať keď vkladám do DB napr. pri registrácii meno a heslo, či to može byť ošetrené takto:

$login = trim($_POST['login']);
$heslo = trim($_POST['heslo']);
        
$login = mysql_real_escape_string($_POST['login']);
$heslo = mysql_real_escape_string(sha1($_POST['heslo']));
-to stačí? tú funkciu trim asi iba na meno a heslo, alebo ju mám používať na viac vecí?
Someone
Profil
laijk:
Hash hesla nemusí být ošetrený funkcí mysql_real_escape_string.
laijk
Profil
Someone:
aha ok, ale ten trim používať všade?
Keeehi
Profil
laijk:
Ten trim ano. Ovšem není tam kvůli bezpečnosti ale kvůli uživatelovu pohodlí. Pokud třeba kopíruje heslo z emailu, v kterém mu přišlo, nemusí si dávat pozor, aby k tomu náhodou nepřikopíroval i mezeru.
Alphard
Profil
Hash hesla nemusí být ošetrený funkcí mysql_real_escape_string.
Konkrétně sha1() negeneruje nebezpečné znaky, ačkoliv mě teď nenapadá protipřípad, obecně to o hashi říct nejde. Naopak obecně doporučuji escapovat veškeré vstupy.

Příklad [#3] je zcela správně, rozumné funkce jsou použité ve vhodném pořadí. Kdyby se pak login vypisoval v kontextu html, použije se htmlspecialchars($s, ENT_QUOTES).

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: