Prikazi cijelu temu 03.08.2020 01:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: zastita kod logiranja
mysqli_real_escape_string - izbjegava posebne znakove u nizu za upotrebu u SQL upitu.
Ova se funkcija koristi za stvaranje legalnog SQL niza koji se može koristiti u SQL izrazu.

Funkcija htmlspecialchars () pretvara neke unaprijed definirane znakove u HTML entitete.
Unaprijed definirani znakovi su:
& (ampersand) postaje & amp;
"(dvostruki navod) postaje & quot;
'(jedna citata) postaje & # 039;
<(manje od) postaje & lt;
> (veći od) postaje & gt;

addslashes() vraća niz s kosim crtama pred unaprijed definiranim znakovima.

Unaprijed definirani znakovi su:

jedan citat (')
dvostruki navod (")
kosa crta unazad (\)

Ako si primjetio vecina funkcija rade jednu te istu stvar odnosno skoro jedno te isto.
Sto se tice upisa u bazu najveci problem su znakovi koji se koriste na nivou sql-a odnosno predstavljaju nesto u skriptnom jeziku SQL.
Nevidm da se bas moze ubaciti zlonamjeran kod i ostetiti bazu podataka.
Naravno da moze doci do greske pri izvodjenju.
Primjer:
Neka nam je ime tabele korisnici koja ima polja
ID,Korisnicko_ime, sifra.

Ako iamo korisnicko_ime Marko a sifra '"1hs$

Sada da pokusamo napraviti select SQL string.
SQL="SELECT ID, korisnicko_ime, sifra FROM korinici WHERE ime='Marko' AND sifra =' '"1hs$";

Sad se vidi o cemu se radi.
Da bi poslali SQL string bazi moramo ga oiviciti sa znakom za string ali ta j znak imamo i samoj sifri tako da nism u mogucnosti ispravno napisati string.
U ovom slucaju bi mogli iskoristiti funkciju mysqli_real_escape_string.

Ako treba mogu jos ddati pojasnjenja.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.