injection mysql et php
7 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
oui, d'ailleurs j'ai un petit script qui les vire au chargement de chaque page pour que je puisse les gérer moi même.
Ceci rend le script plus portable et si par malheur, les magic_quotes sont désactivés, ça change rien.
Et pour info, un addslashes ne suffit pas.
- Code: Tout sélectionner
if (get_magic_quotes_gpc()) {
foreach($_POST as $i=>$var) $_POST[$i]=stripslashes($var);
foreach($_GET as $i=>$var) $_GET[$i]=stripslashes($var);
}
Ceci rend le script plus portable et si par malheur, les magic_quotes sont désactivés, ça change rien.
Et pour info, un addslashes ne suffit pas.
- petit-ourson
- WRInaute passionné

- Messages: 843
- Inscription: Lun Mai 31, 2004 15:19
Re: injection mysql et php
yann214 a écrit:Maintenant que PHP met par défaut des \ devant toutes les apostrophes, antislashes, etc. des variables passées en GET, POST ou Cookies, faut-il encore se méfier des injections mysql ?
D'autant plus que ce ne sera plus par défaut dans la prochaine version me semble-t-il.
je viens également de trouver ça dans la doc de php, qui s'adapte à la config :
- Code: Tout sélectionner
<?php
if (isset($_POST['product_name']) && isset($_POST['product_description']) && isset($_POST['user_id'])) {
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
if(!is_resource($link)) {
echo "Échec de la connexion au serveur\n";
// ... historisation de l'erreur
} else {
// Annule les effets magic_quotes_gpc/magic_quotes_sybase sur ces variables si ON.
if(get_magic_quotes_gpc()) {
$product_name = stripslashes($_POST['product_name']);
$product_description = stripslashes($_POST['product_description']);
} else {
$product_name = $_POST['product_name'];
$product_description = $_POST['product_description'];
}
// Faire une requête sécurisée
$query = sprintf("INSERT INTO products (`name`, `description`, `user_id`) VALUES ('%s', '%s', %d)",
mysql_real_escape_string($product_name, $link),
mysql_real_escape_string($product_description, $link),
$_POST['user_id']);
mysql_query($query, $link);
if (mysql_affected_rows($link) > 0) {
echo "Produit inséré\n";
}
}
} else {
echo "Remplissez le formulaire proprement\n";
}
?>
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gestion des langues et des sessions en PHP / MySQL
- Passage à l'heure d'été/hiver sur un forum phpBB
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Le WRInaute du moment
- Interview Wikio : transcript du chat WebRankInfo
- Googlebot, le robot d'indexation de Google
- [PHP-MySQL] : argument is not a valid MySQL ressource
- injection
- Injection code
- PHPDirector SQL injection
- injection code sql
- Compatibilité PHP 4.4.2 -> PHP 5.1.6 et MySQL 3.23 ->
- Ajax, injection DOM et SEO
- Sécurité , injection sql : mysql_real_escape_string
- injection de code dans formulaire
- Categorizator : Attention Sécurité (injection + html)
- PHP 4 - Mysql 4.x VS PHP 5 - Mysql 5
- MYSQL/PHP
- PHP et Mysql
- MySQL PHP
- Formulaire php et mysql
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum