Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

création de site

sécurisé une bonne fois pour toutes les variables GET et POST

Portion de code ajouté par chapodepay le 18-05-2005

A mettre avant tout autre chose, en entête du premier fichier (ex index.php)

Ceci converti tous les caractères en équivalent HTML, quotes comprises.

Ceci NE sécurise PAS pour une utilisation dans une requête MySQL !

<?php
if (isset($_GET) && is_array($_GET))
{
    foreach ($_GET as $key => $value)
    {
        $_GET[$key] = htmlentities($value, ENT_QUOTES);
    }
}

if (isset($_POST) && is_array($_POST))
{
    foreach ($_POST as $key => $value)
    {
        $_POST[$key] = htmlentities($value, ENT_QUOTES);
    }
}
?>



Pour utiliser ses variables uniquement dans une requête MySQL :

<?php
include('connexion_mysql.php'); // INDISPENSABLE pour utiliser mysql_real_escape_string

if (isset($_GET) && is_array($_GET))
{
    foreach ($_GET as $key => $value)
    {
        $_GET[$key] = mysql_real_escape_string($value);
    }
}

if (isset($_POST) && is_array($_POST))
{
    foreach ($_POST as $key => $value)
    {
        $_POST[$key] = mysql_real_escape_string($value);
    }
}
?>



On peux aussi faire les deux choses en même temps en utilisant une variable spécifique pour GET et POST

<?php
include('connexion_mysql.php'); // INDISPENSABLE pour utiliser mysql_real_escape_string

$GET_MySQL = array();
$GET_Secured = array();

$POST_MySQL = array();
$POST_Secured = array();

if (isset($_GET) && is_array($_GET))
{
    foreach ($_GET as $key => $value)
    {
        $GET_MySQL[$key] = mysql_real_escape_string($value);
        $GET_Secured[$key] = htmlentities($value, ENT_QUOTES);
    }
}

if (isset($_POST) && is_array($_POST))
{
    foreach ($_POST as $key => $value)
    {
        $POST_MySQL[$key] = mysql_real_escape_string($value);
        $POST_Secured[$key] = htmlentities($value, ENT_QUOTES);
    }
}

// On peux maintenant utiliser $POST_MySQL comme $_POST
// MAIS : $POST_MySQL n'est pas une variable globale.
?>

Commentaires

Marco le 09-08-2011

C'est ton fichier de connexion à ta base de donnée, donc le nom du fichier " connexion_mysql.php" est différents de chacun.

grisbi le 30-04-2011

on le trouve où le fichier a inclure " connexion_mysql.php" ?

sylar-dexter le 01-02-2011

Très bonne source. Merci

Pseudo
Email
Commentaire

Merci d'écrire le code ici :