Kom ihåg mig?
Home Menu

Menu


Lyckas inte få bort %22 från sträng i PHP

Ämnesverktyg Visningsalternativ
Oläst 2005-06-08, 14:31 #1
Lukas Lukas är inte uppkopplad
Medlem
 
Reg.datum: Sep 2004
Inlägg: 100
Lukas Lukas är inte uppkopplad
Medlem
 
Reg.datum: Sep 2004
Inlägg: 100
Jag har ett antal php-skript som tar emot GET-argument som den skickar till mySQL. För att minska risken för SQL-injektioner kör jag dessa GET-strängar genom en funktion som tar bort tecken i stil med ' och "
Men jag lyckas inte få min funktion att ta bort %22 från strängen, trots att jag försöker få den att filtrera bort "%"
Kod:
function safe_text($text)
{
	$bad_chars = array("\$","\"","\'","%","&","<",">");
	$text = str_replace($bad_chars, "", $text);
	return $text;
}
Anledningen till att jag undrar om just %22 är att jag just körde ett säkerhetstest (Nessus) som varnade mig för potentiella sql-injektioner i form av /dir/filnamn.php?argument='%22
Lukas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-08, 14:40 #2
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
$text = preg_replace("/["'`]*/",'',$text); känns lite enklare.. (ja du får ju fylla på själv med tecken).
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-08, 14:47 #3
Davids avatar
David David är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2003
Inlägg: 477
David David är inte uppkopplad
Flitig postare
Davids avatar
 
Reg.datum: Aug 2003
Inlägg: 477
Varför inte använda PHP:s egen funktion mysql_escape_string()?
David är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-08, 15:45 #4
Standouts avatar
Standout Standout är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2004
Inlägg: 356
Standout Standout är inte uppkopplad
Flitig postare
Standouts avatar
 
Reg.datum: Feb 2004
Inlägg: 356
Du kan ju köra med

$text = urldecode($text);
Standout är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-08, 15:48 #5
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Jo men nu handlar det ju om att få bort backtick, jag vet inte om nån av de där tar bort den faktiskt?
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-09, 15:09 #6
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
addslashes() ...?
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-06-12, 21:34 #7
fasko fasko är inte uppkopplad
Medlem
 
Reg.datum: Apr 2005
Inlägg: 81
fasko fasko är inte uppkopplad
Medlem
 
Reg.datum: Apr 2005
Inlägg: 81
Om du vill skydda dig mot SQL-injektioner är mitt tips att kolla på
http://se2.php.net/mysql_real_escape_string
fasko är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:54.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017