Formulaire PHP et sécurité

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


cloacking
WRInaute impliqué
WRInaute impliqué
 
Messages: 722
Inscription: 20 Oct 2004

Formulaire PHP et sécurité

Message le Sam Juil 16, 2005 8:29

Bonjour,

Je voudrais savoir quelles sont les principales règles en matière de sécurité lorsque l'on met en place sur son site un formulaire qui permet à l'utilisateur de rentrer des infos qui seront automatiquement ajouté dans la BDD ?

Et surtout quelles sont les techniques qui permettent de parer à cela?

Merci beaucoup.


arsenick
WRInaute discret
WRInaute discret
 
Messages: 197
Inscription: 17 Sep 2004

Message le Sam Juil 16, 2005 8:43

bien recupérer les variables avec du $_POST['mavar'] (pas de register global on ... etc) ...

vérifier et reformater les données avant l'insertion en base ...

mais bon ... il y a surement d'autres choses ...

fredsoft
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

Message le Sam Juil 16, 2005 9:39

arsenick a écrit:bien recupérer les variables avec du $_POST['mavar'] (pas de register global on ... etc) ...

vérifier et reformater les données avant l'insertion en base ...

mais bon ... il y a surement d'autres choses ...


lol il y a aucune sécurité a faire cela

il fau supprimer les entities, purger le html javascript et autre et ajouter des \

raspoutine59
WRInaute discret
WRInaute discret
 
Messages: 210
Inscription: 17 Mar 2005

Message le Sam Juil 16, 2005 10:01

Perso dans mon formulaire j'ajoute un :
<input type="hidden" name="sessionid" value=".................";

Ca permet de savoir si le type est bien passé par la page du formulaire au lieu d'utilisé un automatisme qui poste directement les données. Sinon tu peux aussi ajouter un referer unique pour que l'insertion ce fasse.

Pour le reste déjà t'a qu'a faire de bon formulaire et tu rique pas grand chose. Genre téléphone = que des chiffres (tu peux bloquer les lettres a la saisie) etc..

Ensuite tu utilise $_POST
Tu les insere avec htmlentities
Tu teste toi même avec des grosses connerie qui te font peur
Tu sauve l'ip etc.


rottman
WRInaute passionné
WRInaute passionné
 
Messages: 2121
Inscription: 6 Jan 2004

Message le Sam Juil 16, 2005 10:04

Et pour les mots de passe, un bon md5 s'impose.

fredsoft
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

Message le Sam Juil 16, 2005 10:05

raspoutine59 a écrit:Perso dans mon formulaire j'ajoute un :
<input type="hidden" name="sessionid" value=".................";

Ca permet de savoir si le type est bien passé par la page du formulaire au lieu d'utilisé un automatisme qui poste directement les données. Sinon tu peux aussi ajouter un referer unique pour que l'insertion ce fasse.

Pour le reste déjà t'a qu'a faire de bon formulaire et tu rique pas grand chose. Genre téléphone = que des chiffres (tu peux bloquer les lettres a la saisie) etc..

Ensuite tu utilise $_POST
Tu les insere avec htmlentities
Tu teste toi même avec des grosses connerie qui te font peur
Tu sauve l'ip etc.


aucune sécurité avec les champs hidden et une session, un coup de curl pour lire la session et ensuite simulation du post en envoyant le champ caché.


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Re: Formulaire PHP et sécurité

Message le Sam Juil 16, 2005 10:11

cloacking a écrit:Bonjour,

Je voudrais savoir quelles sont les principales règles en matière de sécurité lorsque l'on met en place sur son site un formulaire qui permet à l'utilisateur de rentrer des infos qui seront automatiquement ajouté dans la BDD ?

Et surtout quelles sont les techniques qui permettent de parer à cela?

Merci beaucoup.


Fais une recherche aussi sur la faille include en PHP
Ex. : http://www.zataz.com/images/documentati ... 823d1f.pdf
Fais une recherche sur les injections SQL en PHP
Ex. : http://www.phpsecure.info/v2/article/InjSql.php

raspoutine59
WRInaute discret
WRInaute discret
 
Messages: 210
Inscription: 17 Mar 2005

Message le Sam Juil 16, 2005 10:12

Je sais, mais ca réduit le nombre d'emmerdeur quand même ;-)

fredsoft
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

Message le Sam Juil 16, 2005 10:13

raspoutine59 a écrit:Je sais, mais ca réduit le nombre d'emmerdeur quand même ;-)

non car le mec qui veux hacker ton form commence par regarder le source

raspoutine59
WRInaute discret
WRInaute discret
 
Messages: 210
Inscription: 17 Mar 2005

Message le Sam Juil 16, 2005 10:17

Bah si on part du principe que le hacker n'est pas une bite, t'aura beau faire dancer la carioca a ton serveur si il a envie de te faire chier il y a arrivera. Mais bon ! La on parle de formulaire seulement... Vaut mieux trop que pas assez

fredsoft
WRInaute discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

Message le Sam Juil 16, 2005 10:21

raspoutine59 a écrit:Bah si on part du principe que le hacker n'est pas une bite, t'aura beau faire dancer la carioca a ton serveur si il a envie de te faire chier il y a arrivera. Mais bon ! La on parle de formulaire seulement... Vaut mieux trop que pas assez


non non..un bon dev on rentre pas...crois nous faisons du paiement securisé et on subi des attaques


scores
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 496
Inscription: 24 Nov 2002

Message le Sam Juil 16, 2005 10:45

Je crois qu'on peut aussi faire des interdictions de balises ajoutées par le form : comme par exemple <script><iframe><div> etc.

et d'ailleur, je cherche cette fonction en php SVP

fbparis
WRInaute impliqué
WRInaute impliqué
 
Messages: 685
Inscription: 1 Fév 2005

Message le Sam Juil 16, 2005 10:46

pour prevenir les inscriptions automatiques je vois rien d'autre qu'un code sous forme d'image a retranscrire comme on le voit un peu partout desormais.

tu devrais aussi bloquer une IP qui soumet a repetition et a une frequence trop elevee (mais ca, ca peut meme etre valable pour tout le site)

sinon, comme ca a ete dit, n'utiliser que $_POST pour recuperer les donnees et les reformater avec un strip_tags ou html_entities directement.

autre chose qui peut servir si tu utilises des sessions, pour eviter le vol de session, apres chaque session_start() :

if ($_SESSION['checkHost'] != md5(SECURITY_CODE . get_ip() . session_id()))
{
session_regenerate_id();
session_unset();
$_SESSION['checkHost'] = md5(SECURITY_CODE . get_ip() . session_id());
}

ou SECURITY_CODE est une chaine de caractere de ton choix ; je sais je suis parano mais bon, c bien d'avoir un truc comme ca, j'ai remarque par exemple que si t'as des adsenses sur ta page, et le sessid qui traine dans l'url le bot de adsense se connecte a la page en volant le sessid, et parfois ca peut foutre un peu le boxon :)


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Message le Sam Juil 16, 2005 10:47

scores a écrit:Je crois qu'on peut aussi faire des interdictions de balises ajoutées par le form : comme par exemple <script><iframe><div> etc.

et d'ailleur, je cherche cette fonction en php SVP


Faut aller voir dans la doc pour htmlentities et html_entity_decode. Là, tu as de l'info pour manipuler la table des symboles utilisée par html_entities et html_entity_decode.

Je ne saurais pas t'aider plus que cela mais je pense que c'est la bonne piste.

Edit : regarde http://be.php.net/manual/fr/function.ge ... -table.php


scores
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 496
Inscription: 24 Nov 2002

Message le Sam Juil 16, 2005 11:00

ok merci ecocentric
et Cloacking, le sujet tombait à pic

Formulaire PHP et sécurité

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités