niconicochan

Inscris le 22/12/2013 à 10:16
  • Nombre de sujets
    9
  • Nombre de messages
    49
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

niconicochan
le 11/03/2014 à 12:37
Choix d'installation
Qu'est-ce que tu appelles "les instructions fournies par les différents projets"?
niconicochan
le 11/03/2014 à 10:09
Choix d'installation
J'ai essayé l'installation manuelle d'Apache, MySQL, PHP et phpmyadmin.
C'est le vrai parcours du combattant.
J'y ai passé plusieurs heures et il semble y avoir des problème pour chaque
installation.
J'ai suivi des consignes sur un livre à propos d'AJAX et PHP.
Les consignes pour trouver les bons fichiers ne correpondent presque pas ou plus
sur ce qu'on trouve sur les sites d'installation, une part d'adaptation
à la réalité de ce qu'on trouve sur internet devient alors indispensable.
Le faire à la main me semble pratiquement impossible.
niconicochan
le 06/03/2014 à 14:48
Choix d'installation
Là où je veux en venir c'est de savoir si à terme je risque de me trouver embêté pour une raison ou pour une autre du fait de ma décision de départ.
niconicochan
le 06/03/2014 à 14:45
Choix d'installation
Bonjour,

Je voudrais savoir quelle différence y-a t'il entre installer un package comme WAMPP ou installer à la main Apache, PHP et MySQL (donc chaque élément de manière séparée).

Moi, j'ai déjà installer WAMPP pour m'entraîner et ça marche très bien mais je n'ai pas encore fait mon site.

Est-ce que vous me conseilleriez plus une façon de procéder par rapport à l'autre (package d'installation ou installation manuelle) et pourquoi?
En d'autre termes, quels sont en principes les éléments de décisions des programmeurs sur ce point?
niconicochan
le 13/02/2014 à 10:21
Formulaire avec envoi BDD
Dragoon25, ce que tu as repris n'est pas une ligne codée par LupusMic, mais une ligne codée par moi-même reprise par LupusMic dans son message.

Je te propose de voir ce que LupusMic va me répondre en plus de ce que tu lui a demandé.
La réponse à mon dernier message sera intéressante aussi pour toi je pense.
niconicochan
le 13/02/2014 à 10:13
Formulaire avec envoi BDD
Merci pour toutes ces précisions.
Je vais essayer de récapituler:
Dans les champs de formulaire, il faut donc coder de manière à générer un nettoyage des données entrées par l'utilisateur car en appuyant sur envoi les données seront propulsées d'un domaine à l'autre.
L'utilisation de mysqli_real_escape string n'est pas possible dans le champs valeur="..." car il n'est pas associé à la série des mysqli_connect, mysqli_query, etc...
Il faut donc utiliser htmlentities à la place.
htmlentities transforme les chevrons, donc pas besoin d'utiliser en même temps strip_tags même
si à priori cela ne dérangerait pas pour autant.
Pour le confort de l'utilisateur, on utilise trim ce qui donne donc:
<input name="societe" size="22" value="<?php echo htmlentities(trim(@$_POST['societe']));?>" type="text"/>

Ca, c'est bon?

Maintenant, dans le programme de traitement de formulaire, on peut 1) annoncer ses variable:

$societe = $_POST ['societe']; 
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];


Puis 2) les nettoyer:

$societeNet = mysqli_real_escape_string(htmlentities(strip_tags(trim($societe))));
$nomNet = mysqli_real_escape_string(htmlentities(strip_tags(trim($nom))));
$prenomNet = mysqli_real_escape_string(htmlentities(strip_tags(trim($prenom))));
$emailNet = mysqli_real_escape_string(htmlentities(strip_tags(trim($email))));
$telephoneNet = mysqli_real_escape_string(htmlentities(strip_tags(trim($telephone))));


Je pense que tu trouves le nettoyage trop chargé et que ça risque de bugger mais je ne comprends
pas pourquoi. Pourquoi tu penses que ça ne vas pas, qu'est-ce que tu écrirais à la place et pourquoi?

Pour ce qui est de la requête:

$req = "INSERT INTO nomTable (societe, nom, prenom, email, telephone) VALUES ('".$societeNet."','".$nomNet."', '".$prenomNet."','".$emailNet."','".$telephoneNet."')";


Ici, tu enlèverais simplement les points de concaténation?
Comment tu arrangerais la présentation?
niconicochan
le 12/02/2014 à 14:49
Formulaire avec envoi BDD
Tu veux dire que dans la zone value="..." on écrit simplement le code permettant d'afficher
les données déjà saisies par l'utilisateur, et qu'il faut donc mieux nettoyer les données dans le programme
de traitement de formulaire car c'est à partir de là seulement que les données seront propulsées d'un domaine à l'autre.
Donc on peut peut-être écrire dans value="..." à la place des points de suspension:
<input name="societe" size="22" value="<?php echo trim(@$_POST['societe']);?>" type="text"/>

et rajouter une ou deux ligne(s) pour le nettoyage des données dans le programme de traitement de formulaire:
$req = "INSERT INTO nomTable (societe, nom, prenom, email, telephone) VALUES ('".$societe."','".$nom."', '".$prenom."','".$email."','".$telephone."')";

du style:
$req= strip_tags(trim($_POST["societe"]));
$req= strip_tags(trim($_POST["nom"]));
$req= strip_tags(trim($_POST["prenom"]));
$req= strip_tags(trim($_POST["email"]));
$req= strip_tags(trim($_POST["telephone"]));

$req= mysqli_real_escape_string($_POST["societe"]);
$req= mysqli_real_escape_string($_POST["nom"]);
$req= mysqli_real_escape_string($_POST["prenom"]);
$req= mysqli_real_escape_string($_POST["email"]);
$req= mysqli_real_escape_string($_POST["telephone"]);
niconicochan
le 12/02/2014 à 12:44
Formulaire avec envoi BDD
Concrètement, tu coderais donc comment pour la création des fonctions et celle des variables de nettoyage?
niconicochan
le 12/02/2014 à 09:45
Formulaire avec envoi BDD
Je ne sais pas si le fait de dédier le nettoyage des données à une variable spécifique permet du coup
l'usage de mysqli_real_escape_string()
Je pense que htmlentities est préférable à htmlspecialchars car il concerne tous les caractères
ayant un équivalent en html, notamment les caractères accentués.
Pour optimiser la sécurité, j'écrirais donc:
$societe = mysqli_real_escape_string(htmlentities(strip_tags(trim(stripcslashes($_POST["societe"])))));


J'espère que des personnes plus confirmées pourront prendre le relais pour apporter plus de précisions
sur le nettoyage de données et la sécurité.
Si ces subtilitées dans mon message peuvent sembler être du détail, ça m'intéressait beaucoup d'avoir vos avis.
J'apprendrai ainsi avec dragoon25
niconicochan
le 12/02/2014 à 08:58
Formulaire avec envoi BDD
Sur le forum, LupusMic confirme que l'usage de mysqli_real_escape_string()
n'est pas possible car il doit être proche de ses camarades:
mysqli_connect() , mysqli_select_db(), mysqli_query(), ...

Dans value=" ...", (à la pace des trois points de suspension tu peux coder comme il propose:
<?php echo htmlentities(@$_POST['societe'], ENT_QUOTES); ?>

<?php echo htmlentities(@$_POST['nom'], ENT_QUOTES); ?>

<?php echo htmlentities(@$_POST['prenom'], ENT_QUOTES); ?>

<?php echo htmlentities(@$_POST['email'], ENT_QUOTES); ?>

<?php echo htmlentities(@$_POST['telephone'], ENT_QUOTES); ?>


Pour plus de sécurité, j'utiliserais à la fois htmlentities(), strip_tags() et trim(), de la façon suivante:
<?php echo htmlentities(strip_tags(trim(@$_POST['societe'], ENT_QUOTES))); ?>

<?php echo htmlentities(strip_tags(trim(@$_POST['nom'], ENT_QUOTES))); ?>

<?php echo htmlentities(strip_tags(trim(@$_POST['prenom'], ENT_QUOTES))); ?>

<?php echo htmlentities(strip_tags(trim(@$_POST['email'], ENT_QUOTES))); ?>

<?php echo htmlentities(strip_tags(trim(@$_POST['telephone'], ENT_QUOTES))); ?>


Mais s'il ne l'a pas fait, il y a peut-être une raison. Moi, je suis un débutant et serait d'ailleurs
ravi d'avoir l'avis des plus expérimentés à ce sujet ^ ^
J'aurais également une question basique, mais dont j'aimerais bien avoir quand même la réponse:
ici, le point virgule exprime bien à chaque fois la fin de l'instruction echo ?
Il est (en cela) absolument indispensable?
LoadingChargement en cours