Jump to content
php.lv forumi

`Kā pasargāt sevi no SQL injekcijām`


eregi

Recommended Posts

Tātad pirms kāda laika lasīju mārča rakstu kā pasargāt sevi no injekcijām, izveidojot atsevišķas funkcijas..

Takā neprotu lasīt viņa kodu ( laikam OOP ? ), tad domāju, kaut ko tādu sev uzcept.

Insert funkciju es izveidoju - http://pastebin.com/m6c3e11c4 +/- laikam ir ok. :)

 

tad nu interesēja varbūt kāds varētu ieteitk, ko darīt ar parastu qvēriju, teiksim biju domājis -

	function q($line)
{
	$line = mysql_escape_string($line); 
	$ret  = mysql_query($line);
	return $ret;
}

bet, ja tiek padots

get("SELECT * FROM ".db.".users WHERE Username='$uname' AND Login_key='$pass'")

tad viss `nobrūk` laikam, jo tiek eskeipoti visi ", nevis tikai mainīgie.

Tad nu domāju vai nevarētu ieteikt, kā to eskeipošanu varētu veikt? t.i, ko vēl varētu pievienot, lai eskeipo tikai padotos datus..

Labprāt arī redzētu citu veidotās funkcijas šajā jautājumā.

 

 

p.s vēl gribēju uzzināt, ko nozīmē tie %s un %d iekš kvērija?

 

Kopumā vēlējos uzzināt jūsu domas šajā jautājumā - vai ir jāveido tādas papildus funkcjas un kā tās veidot..

Edited by eregi
Link to comment
Share on other sites

Tev jāeskeipo (ar mysql_escape_string) tikai stringi, kurus liec/izmanto kverijā - tavā gadījumā $uname un $pass. Visu kveriju nevajag eskeipot.

%s un %d nenozīmē neko iekš kverija. Tie nozīmē tikai kautko printf saimes funkcijām.

Link to comment
Share on other sites

p.s vēl gribēju uzzināt, ko nozīmē tie %s un %d iekš kvērija?

 

tiek lietot print formatted funkcijā, gan jau citur arī

 

%s - simbolu virkne

%d - integers (signed -2147483647 ; 2147483647 , unsigned 4294967295 )

 

EDIT: oj ātrāk par mani atbildēja

Edited by Indian
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...