Php a ošetření vstupů

HackForum

Php a ošetření vstupů#
Ahoj,
Rád bych rozpoutal diskuzi o ošetřování vstupů proti XSS, mysql injection a podobným svinstvům.
Jaké používáte funkce na ošetření? Jaké máte zkušenosti? Nabořil někdo vaši aplikaci? :-)

Já vesměs používám jen htmlspecialchars(), pokud jde o nějaké vyhledávání tak odebírám mezery na konci a začátku,*,_,?,<,>...
Nevim na kolik je to spolehlivé, ale zatím se mi nic nepřihodilo.

S pozdravem Reseth
(odpovědět)
Reseth | E-mail10.9.2008 15:01
re: Php a ošetření vstupů#
standardne rovnez pouzivam na osetreni vystupu funkci htmlspecialchars(), k osekavani stran jsem si ale musel napsat svoji, nebot ta standardni nezohlednovala nullovy byte, coz je chyba. pro osetreni vstupu databaze mam rovnez vlastni funkci. Netvrdim, ze je to kdovi jak efektivni reseni, mne to ale praci usnadnilo.
__________
function cms_trim($string) {
return trim($string, " \t\n\r\0\x0B\xA0");
}

function cms_sec_string($string) {
return htmlspecialchars(cms_trim($string));
}

function cms_db_query($query, $one='', $two='', $three='') {
$sql = sprintf($query, mysql_real_escape_string($one),
mysql_real_escape_string($two),
mysql_real_escape_string($three));

return mysql_query($sql);
}

__________
(odpovědět)
Emkei | E-mail | Website | PGP10.9.2008 16:21
re: Php a ošetření vstupů#
Určitě odstraňovat nulové byty, používat mysql_real_escape_string, proti XSS htmlspecialchars nebo strip_tags a pokud pracuješ se soubory a složkami pomocí proměnných, pak je dobrý z názvu odstraňovat zbytečné znaky - pro bezpečnost stačí odstraňovat tečky a lomítka.
(odpovědět)
Zax | E-mail | Website | ICQ 24104593410.9.2008 18:11
re: Php a ošetření vstupů#
text do binarnky... at uz vstup bude jakykoliv, sql injekce neni mozna... co se tyce xss, htmlentities()
(odpovědět)
fgjhhg | 85.207.246.*10.9.2008 20:05
re: Php a ošetření vstupů#
1] zakladni pravidlo je omezit delku vstupu na max predpokladany pocet znaku, lze tim znacne snizit vyuziti pripadne zranitelnosti.

2] pokud se jedna o specificky vstup (cislo,email,username), tak jej jednou nadefinovat pomoci regularniho vyrazu a ten poradne otestovat a centralne pouzivat. (spolehat se na explicitni typove konverze nebo na systemove funkce se nevyplaci)


3] prihlasit se do bezpecnostiho fora a sledovat exploity aplikaci, systemovych funkci jazyka a do budoucna ziskat nejake know how, jak utocnici premysli


Pokud Vase aplikace neni vystavena se zdrojovymi kody na internetu, tak neposilat chybove hlasky na vystup a podezrele chovani logovat.

nejsem vzorny PHP vyvojar, urcite byste v mych aplikacich nasli spoustu bugu.
(odpovědět)
juha | 89.24.9.*2.10.2008 18:58

Zpět
 
 
 

 
BBCode