Pico
Site Admin
Joined: 18 Jan 2004 |
Posts: 250 |
Location: HostMachine.net |
|
![](./templates/Morpheus/images/spacer.gif) |
Pozor pri delu z bazami podatkov, kjer SQL poizvedbe vsebujejo prosto besedilo!
Namreč - na strežnikih smo za PHP izklopili Magic_Quotes_GPC, kar pomeni, da v nizih besedila PHP NE bo več samodejno dodajal narekovajem \ escape poševnico!
Prej je bilo takole:
vhodni niz: Poglej si film "Zelena milja", odličen je!
Magic_quotes_GPC je v ozadju samodejno dodal \ escape poševnico:
izhodni niz: Poglej si film \"Zelena milja\", odličen je!
Sedaj je pa ta avtomatika IZKLOPLJENA - torej morate pri programiranju paziti, da vse nize besedil, ki UTEGNEJO vsebovati tudi enojne narekovanje ' ', dvojne narekovanje " " ali poševnice \ \ pred generiranjem SQL stavka obdelate z ukazom:
addslashes(); //To naredi isto kot Magic_quotes_GPC
NA PRIMER:
$besedilo = 'Poglej si film "Zelena milja", odličen je!';
$besedilo = addslashes($besedilo);
Po branju tega niza iz baze pa lahko odvečne escape \ poševnice odstranite z ukazom:
stripslashes();
NA PRIMER:
$besedilo = 'Poglej si film \"Zelena milja\", odličen je!';
$besedilo = stripslashes($besedilo);
|
_________________ Site admin alias Labsy
Vsi nasveti in tehnične rešitve so podani v dobri veri in za ljudi z razčiščenimi pojmi o veljavni zakonodaji.
Odgovornost prevzemam izključno in samo za tiste posege, ki jih opravim lastnoročno.
|