[PHP / MySQL] addslashes

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een zelfde website op 2 veschillende servers draaien. Bij de ene server worden de 'backslashes' wel opgeslagen in een MySQL Tabel en op de andere server niet:

Voor het opbouwen van een insertquery gebruik ik de php functie addslashes voor alle veldwaarden, de query gaat goed. Het veld waarin ik de waarden opsla is van het type: "Text". Op de ene server worden de 'backslashes' wel opgeslagen in de tabel. Op de andere server worden ze niet in de tabel opgeslagen.

Is dit een instellingsfout van MySQL of PHP?

Acties:
  • 0 Henk 'm!

  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
waarschijnlijk de instelling 'magic_quotes_gpc' die op de ene server aanstaat en op de andere niet..

Een mogelijkheid is om te controleren of deze functie aanstaat, en afhankelijk daarvan, de reeds toegevoegde slashes te verwijderen, voordat je ze met jouw addslashes toevoegd.

dus bijv.
PHP:
1
2
3
if(get_magic_quotes_gpc()) {
  stripslashes($jouwvariabele);
}

Andersom kan natuurlijk ook; checken of die aanstaat, en afhankelijk daarvan slashes toevoegen :)

[ Voor 18% gewijzigd door MadMurdock op 07-04-2005 13:59 ]


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-09 12:54
Dan heeft er 1 server de instelling van magic_quotes_gpc anders dan de andere. Deze instelling zorgt ervoor dat er automatisch \ worden toegevoerd bij bijvoorbeeld form-variabelen, als daar een ' in zit.

Meer informatie over magic quotes en ook inverband met veiligheid is hier nog het een en ander te vinden.

[ Voor 40% gewijzigd door Sybr_E-N op 07-04-2005 12:42 ]


Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
set_magic_quotes_runtime (0);

function stripslashes_helper (&$v, $k)
{
    if (is_array ($v))
        array_walk ($v, "stripslashes_helper");
    else
        $v = stripslashes ($v);
}


if (get_magic_quotes_gpc ())
{
    if (isset ($_GET))
        array_walk ($_GET, "stripslashes_helper");
    
    if (isset ($_POST))
        array_walk ($_POST, "stripslashes_helper");
    
    if (isset ($_COOKIE))
        array_walk ($_COOKIE, "stripslashes_helper");
    
    if (isset ($_REQUEST))
        array_walk ($_REQUEST, "stripslashes_helper");
}
?>

Boven je script zetten
Komt overigens van http://www.oisyn.nl/articles.php/14