[ ToDD @ 29.12.2006. 00:06 ] @
| Ovako, htio bi da mi neko kaže u natuknicama što je dovoljno da bi se zaštitile varijable, query-ji, sessioni i fileovi.
i ako neko zna neku fintu za rušenje nezaštićenih skripti (tipoa sql injection) neka podjeli s nama. (ovo ne služi tome da ja nekom rušim skripte ili tako nego onaj ko zna srušit - zna i zaštiti)
pozdrav |
[ Nemanja Avramović @ 29.12.2006. 12:46 ] @
Treba ti "eskejpovanje" promenljivih sa
http://php.net/mysql_real_escape_string i pravilno handle-ovanje promenljivih, provera tipa, provera ispravnosti (npr. da li je u polju "email" zaista napisana email adresa), i tako to...
[ Miroslav Ćurčić @ 03.01.2007. 18:25 ] @
Takodje valjalo bi da podatke koje su korisnici uneli ne ispisuješ na sajtu u originalnom obliku već ih prvo obradiš sa
htmlentities($text, ENT_QUOTES, 'UTF-8');
Ovim se boriš protiv XSS napada.
Fajlove čuvaš recimo s .htaccess (guglaj) koji postaviš u neki poddirektorijum u kome držiš fajlove koje štitiš.
Uvek inicijalizuj promenljive pre dodavanja ("$a.=" ili "$a[]=").
Tokom razvoja aplikacije uključi error_reporting(E_ALL), a isključi kad je završiš.
[ Miroslav Ćurčić @ 03.01.2007. 18:33 ] @
Da bi srušio neki sajt morao bi imaš uvid u njegov kod (može i bez ali mnogo teže) da bi mu našao slabost.
Eskejpovanje (kakav prevod) korisničkih unosa bi trebalo da je dovoljno.
Uploadovane datoteke prvo proveri sa is_uploaded_file() funkcijom pre obrade, kao i njen tip da ti neko ne bi poslao PHP kod koji bi posle izvršio kroz browser.
[ ToDD @ 03.01.2007. 18:53 ] @
fala ljudi, to mi bas treba.
jedno pitanje za mVelikog:
zasto $a.=" ili "$a[]=" ?
[ Miroslav Ćurčić @ 03.01.2007. 21:25 ] @
Kad dopisuješ nešto na kraj stringa onda to radiš sa $a=$a.'dodatak' ili skraćeno $a.='dodatak', slično je i sa nizovima ($a[]='dodatak') ili numeričkim vrednostima ($a+=15).
Elem, ako je na serveru uključen register_globals i neko ti prosledi kroz GET promenljivu $a, a ti je nisi inicijalizovao pre obrade (sa $a='';) imaćeš veselu situaciju.
[ shketuljko @ 04.01.2007. 13:00 ] @
Evo jedne simpaticne funkcije koja mnogo pomaze
Citat:
function secure_sql($value)
{
if( get_magic_quotes_gpc() )
{
$value = stripslashes( $value );
}
//check if this function exists
if( function_exists( "mysql_real_escape_string" ) )
{
$value = mysql_real_escape_string( $value );
} else {
//for PHP version < 4.3.0 use addslashes
$value = addslashes( $value );
}
return $value;
}
[ mika @ 04.01.2007. 13:55 ] @
Ček, ček, dakle svaki SQL iskaz koji pošaljemo serveru bi trebalo da prođe kroz ovu funkciju? Ili bar onaj SQL koji sadrži unete parametre od strane korisnika?
[ Nemanja Avramović @ 04.01.2007. 14:34 ] @
Svaka promenljiva čija vrednost dolazi od korisnika.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.