Magic quotes undo
Auteur: Kibby - 29 juni 2006 - 16:33 - Gekeurd door: Maarten - Hits: 3477 - Aantal punten: (0 stemmen)
Omdat je op de meeste server niet de beschikking hebt tot het uitzetten van
de welbekende (en irritante) magic_quotes, post ik maar even het script dat
ik vaak gebruik om de door magic quotes toegevoegde escapes weg te halen.
Ik had eerst ook een fix voor magic_quotes_sybase erbij, maar aangezien dit echt
een insignificante minderheid is, laat ik dat maar achterwege...
|
Code: |
Zet deze code gewoon in een common bestand, of bovenaan in je php file
<?php
/**
* Opletten voor magic quotes
*/
if (get_magic_quotes_gpc ())
{
/**
* Dit wordt gebruikt om toegevoegde backslashes weg te halen
*
* @access private
* @param mixed $value
* @return mixed
*/
function stripslashes_deep ($value)
{
// als het een array is, mappen we de functie er nogmaals over, anders
// returnen we de waarde gestripslashed.
return is_array($value) ? array_map('stripslashes_deep', $value) : (is_string($value) ? stripslashes($value) : $value);
}
// hier passen we de superglobals aan
$_POST = stripslashes_deep($_POST);
$_GET = stripslashes_deep($_GET);
// OPLETTEN: $_COOKIE kan geen arrays bevatten
$_COOKIE = stripslashes_deep($_COOKIE);
}
// natuurlijk wil je nooit backslashes in je uitvoer van de db hebben;)
set_magic_quotes_runtime (0);
?>
<?php /** * Opletten voor magic quotes */ { /** * Dit wordt gebruikt om toegevoegde backslashes weg te halen * * @access private * @param mixed $value * @return mixed */ function stripslashes_deep ($value) { // als het een array is, mappen we de functie er nogmaals over, anders // returnen we de waarde gestripslashed. } // hier passen we de superglobals aan $_POST = stripslashes_deep($_POST); $_GET = stripslashes_deep($_GET); // OPLETTEN: $_COOKIE kan geen arrays bevatten $_COOKIE = stripslashes_deep($_COOKIE); } // natuurlijk wil je nooit backslashes in je uitvoer van de db hebben;) ?>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|