Posez votre question Signaler

Sécurité PHP [Résolu]

Fetide68 523Messages postés 4 janvier 2009Date d'inscription 28 mai 2012Dernière intervention - Dernière réponse le 25 nov. 2009 à 17:08
Bon alors, je découvre un peu PHP mais le moment est venu ou, avant d'aller plus loin (donc trop loin), je souhaiterais obtenir les meilleures infos concernant la sécurité du code... !
Le meilleur lien que j'ai trouvé pour l'instant est celui-ci : http://www.phpcs.com/tutorial.aspx?ID=202
Mais à chaque chapitre j'ai toujours des doutes... ce n'est pas super clair et les solutions proposées ne marchent même pas.
Par exemple, quelle différence y a-t-il entre ça :
If ($password != "Pouletgrille")  { print'
Exemple : <meta name="robots" content="index, follow"> '; }

et ça :
If($password != "Pouletgrille")  { Print'Insérez ici le contenu de votre section admin'; } else { print'Erreur de connexion !'; }

Son explication n'est pas claire.
ceci :
$page=preg_replace("/[^a-z0-9_ ]/i", "", $page);
if(!@include("includes/$page.php"))die("Cette page n'existe pas sur le serveur, merci d'informer le webmaster du site si ce problème venait à se reproduire.");
ne marche pas.
Et si ça :
<? include ('accueil.php') ?>
est valable pour ça :
Si votre URL est sous la forme suivante : http://www.votresite.com/index.php?page=accueil.php</code>est-ce qu'il est aussi valable pour ça ?
Si votre URL est sous la forme suivante : http://www.votresite.com/index.php?page=accueil</code>

Je trouve que ces explications nous informent mieux de la façon dont procèdent les pirates que de la façon de leur empêcher l'accès. Auriez vous une solution miracle pour débutant... ?
Merci.
Lire la suite 

Sécurité PHP »

Suggestions
9 réponses
Réponse
+2
moins plus
Essayes plutôt avec ça :
if($password == "Pouletgrille")  {
    echo 'Insérez ici le contenu de votre section admin';
} else {
    echo 'Erreur de connexion !';
}
N'utilises pas les shorts-tags ! C'est "<?php" et pas "<?"

Je te conseil d'aller apprendre sur le Site du Zér0 car l'auteur du tutoriel me fais penser au sois-disant "informaticien" qui donne cours comme des pieds à mon école (avec les vieilles méthodes dépassées).
Ajouter un commentaire
Réponse
+1
moins plus
Je suis du même avis !

Le lien dont il parle c'est celui-là :
- http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html

Cordialement,

+1
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Je serais un peu moins 'violents' que vous sur ce tutoriel mais c'est vrai qu'on fait mieux.
L'exemple
If ($password != "Pouletgrille")  { print'
Exemple : <meta name="robots" content="index, follow"> '; }

Explique que faire une protection de page avec une redirection par META n'est pas bien ... c'est vrai mais ca ne me serait pas venu à l'esprit de le faire ainsi :)

Le deuxième exemple explique qu'il ne faut pas faire confiance à une page passée en paramètre. Ne JAMAIS faire un include($page) avec $page provenant d'un GET, il faut maitriser ce qu'on passe en paramètre à include. mais le moyen donné de contourner le problème n'est surement pas le plus compréhensible ni le plus efficace.
Ajouter un commentaire
Réponse
+0
moins plus
Quand je disais que je découvre php, cela sous-entendait que LE site qui m'a fait avancé en premier c'est le site du zéro. Vous avez beau le critiquer, j'aime bien la méthode de m@teo. Je n'ai pas vu de meilleur tutoriel pour l'instant.

Pour les shorts tags, je savais, mais j'ai fais un simple copié-collé, pour rester fidèle au texte d'origine. Mais c'est toujours bon de le rappeler pour d'autres.

Merci Dr Zoidberg qui répond à tous mes post (j'ai vu ta participation sur fputs et fwrite... merci....

Pour la redirection, je ne sais pas pourquoi il a mis la meta robots, c'est pas plutôt la meta refresh dont il voulait parler ? Sinon, une redirection en javascript, c'est mieux au cas ou ? Parce que le header ('location: ...'); en php ne fonctionne pas si du code html est placé avant...

Merci pour ta réponse...
avion-f16- 25 nov. 2009 à 16:03
“Vous avez beau le critiquer, j'aime bien la méthode de m@teo. Je n'ai pas vu de meilleur tutoriel pour l'instant.”Je parlais de l'auteur du tutoriel sur phpcs.com, pas de m@theo21 du SdZ.

Le mieux est de faire la redirection en PHP avec la fonction header :
header('Location: nouvelle_page.php');
Ajouter un commentaire
Réponse
+0
moins plus
En javascript c'est pas franchement mieux car le javascript se fait coté client (comme le meta refresh) et on ne maitrise donc pas ce que le client fait (le javascript ca se désactive par exemple). Mais ca dépend de l'utilisation, ici on parle d'une redirection sur une validation de mot de passe, la bonne solution pour une authentification reste pour moi un système de session et une page d'erreur appelé par une header('Location:...);.
Rien n'empêche d'utiliser une redirection javascript ou meta pour des choses moins critiques.
Ajouter un commentaire
Réponse
+0
moins plus
Ok, c'est noté ! Merci.
Ajouter un commentaire
Réponse
+0
moins plus
De même pour moi, d'ailleurs j'ai mis le lien pour le Site du Zero !
Ajouter un commentaire
Réponse
+0
moins plus
Le cours de Comment ça marche sur Php est pas mal aussi. Un complément synthétique qui est bien utile. Mais beaucoup mois complet que le cours de M@teo...

D'ailleurs, je me suis arrêté aux trois quarts pour apprendre à bien maîtriser ce que j'ai lu et fait... C'est une bonne méthode je pense.

D'ailleurs, REreprendre les bases m'ont permis de clarifier des choses sur lesquels je blouqais et qui maintenant me semblent naturelles et évidentes.
Ajouter un commentaire
Ce document intitulé « Sécurité PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?