Gå til innhold

magic_quote funksjon - vil denne fungere?


Anbefalte innlegg

Hei,

 

Se på denne koden:

http://www.webforumet.net/pastebin/v.php?id=57

 

Vil den quote alt hvis magic_quote er av? Jeg har det på, og er litt usikker på å sitte å dulle med php ini fila. Men vil den fungere? Hvis den hadde fungert... hadde det vært helt dumt å bruk den funksjonen, sammenligna med quote_smart som er vist i PHP manualen?

 

Takk.

Endret av Beethoven
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132
Dropp alle returns, post,get,session og cookie-variablene er globale. endrer du dem inni en funksjon, vil verdien være endra utafor òg

5667947[/snapback]

 

At jeg ikke tenkte på det før :blush:

Lenke til kommentar
se på eksempel 3 her:

http://no2.php.net/mysql_real_escape_string

 

quote_smart() funksjonen der er fin fin til en oppgave som dette...

5668951[/snapback]

Nei, den er ærligtalt grundig på jordet. Ja, det fungerer, men om magic_quote er på gjør man dobbelt opp med jobb. Dette fordi magic_quotes fjerner de tegnene som faktisk ER farlige for mysql.

 

function quote_smart($value)
{
  if (!is_numeric($value) && !get_magic_quotes_gpc())
      $value = "'" . mysql_real_escape_string($value) . "'";

  elseif (!is_numeric($value) && get_magic_quotes_gpc())
     $value = "'". $value ."'";

  return $value;
}

 

Edit: Ups, en ' for mye

Endret av Ernie
Lenke til kommentar
vil bare påpeke at magic_quotes_gpc og mysql_real_escape ikke gjør helt samme jobben, mysql_real_escape_string escaper også

 

\x00, \n, \r, samt \x1a.

mens magic_quotes ikke escaper disse...

5670939[/snapback]

Ja, men hvis du veit hva det er for noe så skjønner du ganske fort at dette ikke innebærer fare. \n er linjeskift, \r er vel også linjeskift, \x00 er det første tegnet i ascii-tabellen. Hva eksakt \xa1 (eller tegn 26 i ascii-tabellen) aner jeg ikke, men farlig er det overhode ikke. Hvorfor escapes de? For å lage en fin logg, som 99% av de her inn aldri kommer til å legge labbene på noen gang uannsett.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...