Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 7.2.2010, 21:45   #1
Electro
Novi član
 
Član od: 18.8.2009.
Poruke: 18
Zahvalnice: 8
Zahvaljeno jedanput na jednoj poruci
Određen forumom Kako spreciti SQL injection?

Citao sam da korisnicke unose ne treba prihvatati u izvornom obliku, ali ne znam sta i gde da upotrebim.

Prva mogucnost:
Kod:
htmlspecialchars($_POST['username'], ENT_QUOTES);
gde je 'username' ime polja u formi.

Druga mogucnost:
Kod:
$connection = mysqli_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass'], $GLOBALS['db_name']);
$esc_name = mysqli_real_escape_string($connection, $username);
Da li se koristi jedno od ova dva ili nesto trece?
btw, uradio sam echo oba rezultata + originalnog polja. Cak i kada ne propustim tekst kroz ovo opet mi ispisuje escaped apostrof. A ostale znakove ne dira ni uz koriscenje tih funkcija (<, >, & ostaju isti). Kao da automatski vrsi konverziju?
Electro je offline   Odgovor sa citatom ove poruke
Stara 11.2.2010, 1:17   #2
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Kako spreciti SQL injection?

Verovatno je uključen magic quotes. I kod mene je isto, i evo šta radim na početku:
PHP kod:
function stripslashes_deep($value)
{
    
$value is_array($value) ?
                
array_map('stripslashes_deep'$value) :
                
stripslashes($value);

    return 
$value;
}

$_POST stripslashes_deep($_POST); 
Za MySQL, relevantno je escapeovati backslash, quote i double-quote. Sve to radi funkcija mysql_real_escape_string, i nju pozivaš ovako:
PHP kod:
mysql_connect('...'// moraš da imaš konekciju da bi izvršio real_escape_string, on radi sa trenutnim enkodingom
$_POST['nekopolje'] = mysql_real_escape_string($_POST['nekopolje']); 
Takođe, kad ispisuješ korisnikov unos, uvek prvo iskoristi funkciju htmlspecialchars(unos) pre nego što ga ispišeš. Time sprečavaš XSS.
Geomaster je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Geomaster na korisnoj poruci:
Electro (11.2.2010)
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
3D Youtube [+ tutorial kako napraviti 3D naočare] Schnak3 Internet tehnologije 55 28.2.2010 16:02
Vodeno hlađenje, pomoć oko odluke šta i kako vasiljevic Ostale komponente 12 21.7.2009 9:45
Kako menjati boju automobila u photoshopu? freeminder Grafički softver i radovi 16 31.10.2007 17:03
Kako instalirati program na Fedori? dacho Slobodni softver 2 4.10.2007 9:00


Sva vremena su po Griniču +2 h. Sada je 23:24.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com