webForumDet fria alternativet

PDO får \" i databas

PHP

5 svar · 548 visningar · startad av dreas

Medlem sedan jan. 2004140 inlägg
Frågan#1

Hej!
Ett litet problem. Jag sparar data till databas m h a prepared statement i PHP. Problemet är att när jag i WYSIWYG editorn lägger in en länk till en bild, får jag \" i databasen pga den sql injection skydd PDO har.
Hur stänger man av den funktionen, så att den accepterar (dvs. jag litar fullständigt på inputen) all input utan sql injection skyddet? FInns det något annat sätt att stänga av denna funktion?

Medlem sedan juni 20014 421 inlägg
#2

Det är inte pdo som escapear datan om du jobbar med prepared statements. Det sker innan du stoppar in det.

Medlem sedan jan. 2004140 inlägg
#3

Jag är hyfsat ny på PDO, sysslat med det intensivt de senaste tre månaderna, och jag fick det här svaret från Spin tidigare:
http://www.webforum.nu/showthread.php?p=1392531#post1392531

Det är därför jag utgår ifrån att PDO faktiskt har SQL injection skydd, och därmed automatiskt escapear datan. Har jag missförstått det?
Hur som helst är frågan hur man kommer runt detta problem? Ska jag skita i att köra prepared stat. och safta in datan som vanligt? Detta problem borde ju ha skett tidigare för andra tycker man ju.
Förslag?

Medlem sedan maj 20031 472 inlägg
#4

Är det inte bara att unescapa datan när den kommer ut?

Medlem sedan nov. 20014 054 inlägg
#5
$string = stripslashes(string);
Medlem sedan jan. 2004140 inlägg
#6

Så sant som det var sagt!
Tjong sa det, och jag fick jag flyga in i vrån och skämmas :)

Tack!
(markerar Fredde Mannen's svar som slutgiltig då den är komplett för andra att ta del av, trots att greyhound's svar menade precis samma sak)

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)