PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-07-2009 14:54:28

lnki
Membre
Lieu : Istres
Inscription : 08-05-2009
Messages : 4

Liste de toutes les variables $_POST envoyées

Bonjour à tous.

Je suis en train de penser à un site, où je vais répertorier des résultats de tests sur des téléphones mobiles.
Jusque là rien de bien compliqué, seulement je compte pouvoir ajouter un test sans passer par la modification à la main du code source, donc via une interface type formulaire classique.

L'ajout d'un test ne me pose pas vraiment de soucis, là où je n'ai pas vraiment d'idée c'est quand au traitement des variables $_POST lorsque je remplirais le formulaire de déclaration des résultats et leurs passage dans la requête sql.

Précédemment comme rien n'était dynamique je faisais le tout à la main, en faisant par exemple :

<?php
$video_wall = $_POST['video_wall'];
$bitrate_video = $_POST['bitrate_video'];
$bitrate_audio = $_POST['bitrate_audio'];
$framerate = $_POST['framerate'];
$screensize = $_POST['screensize'];

$sql = "INSERT INTO t_test_video VALUES ('','$video_wall','$bitrate_video','$bitrate_audio','$bitrate_video','$framerate','$screensize')";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
?>

Seulement, comme j'espère [:/] m'être bien exprimé, un tel code sera inutilisable ici vu que je créerais le formulaire dynamiquement et son traitement, devra être dynamique également.

Je pensais utiliser

<?php extract($_POST); ?>

mais quid de la sécurité de cette fonction utilisée de la sorte et quid de la requête sql ?
Comme je ne suis qu'à la phase de réflexion je n'ai pas encore de code à proposer, j'essaie juste de trouver un chemin avant d'attaquer le code.

Merci de vos réponses et du temps que vous m'accorderez smile

Hors ligne

#2 06-07-2009 15:58:09

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Liste de toutes les variables $_POST envoyées

Saluton,
De toute façon, ton code actuel ne sécurise rien du tout
Le fait de transférer les items de $_POST vers des variables PHP, te facilite la génération de la requête, mais ne protège en rien contre des insertions bizarroïdes.
Là, en outre, avec des index de colonnes dynamiques, l'extract risque d'écraser des variables de l'application.
Donc, pas bon du tout.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 06-07-2009 16:43:02

lnki
Membre
Lieu : Istres
Inscription : 08-05-2009
Messages : 4

Re : Liste de toutes les variables $_POST envoyées

Salut,
Merci pour ta réponse.
Certes le premier code que j'avais écris, pure invention de ce que pourrait être une requête de base tapée à la main n'était pas sécurisée.
Donc ça donnerait :

<?php
if(isset($_POST['video_wall'])){     $video_wall= htmlentities($_POST['video_wall']); }
....

$sql = "INSERT INTO t_test_video VALUES ('','$video_wall','$bitrate_video','$bitrate_audio','$bitrate_video','$framerate','$screensize')";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
?>

Bref ce n'était pas vraiment le but de ma question, merci pour l'info quand même.
Maintenant, mon formulaire étant généré dynamiquement, comment, pour le traitement je peux récupérer toutes mes données $_POST, les sécuriser, et les passer dans ma requête sql ?

Merci.

Hors ligne

#4 07-07-2009 07:38:44

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Liste de toutes les variables $_POST envoyées

La(es) table(s) de la base de données que tu souhaites alimenter avec ce formulaire lui pré-existe(nt), la génération du formulaire, pour dynamique que tu l'annonces, n'en sera donc pas pour autant spontanée. Je te conseille donc de programmer le script de traitement du formulaire en t'appuyant fortement sur les structures de(s) table(s) concernée(s) tant pour les noms des colonnes que pour leur type et de veiller à leur appliquer le niveau de protection idoine.
Encore une fois, htmlentities, c'est un poil léger.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums