IDENT-PASS

steve2206 Messages postés 95 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 30 octobre 2013 - 28 avril 2007 à 20:05
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 1 mai 2007 à 01:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42486-ident-pass

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 mai 2007 à 01:25
"Plutot pas mal mais un inconvenient !
On peut acceder à la page sans avoir rentré le mot de passe !"=> contradiction....
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
30 avril 2007 à 13:50
Pas grand chose à rajouter... si ce n'est que je ne comprend toujours pas pourquoi vous faites des boucles pour vérifier si le couple login/mdp est bon... c'est trop compliqué d'utiliser un tableau associatif... .. ?

Quand aux multiples echo() c'est inutile et crade... .. .

bref... 1/10... mais c'est en forgeant qu'on devient forgeron n'est ce pas... .. .

@ tchaOo°
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
29 avril 2007 à 22:25
"- connexion au serveur de base de données (échange dans les deux sens... Pour mémoire, le serveur de bdd n'est pas toujours sur la même machine que le serveur http, donc connexion tcp/ip, contraintes liées au réseau, à l'encombrement de celui-ci, au débit, etc)
- envoi de la requête
- exécution de la requête => ACCES DISQUE
- envoie du résultat de la requête"

Même si le serveur de bdd n'est pas sur la même machine, elle fait partie d'une même "grappe", donc c'est suffisament rapide.
L'envoi de la requète est proche de la microseconde. Insignifiante.
L'exécution d'une requète ne provoque pas toujours un accès au disque. Tout dépend si tu indexes correctement tes tables et de jouer avec la RAM correctement. Certaines requètes ne provoquent aucune ressource disque.
Le retour de requète est proche d'une microseconde aussi. Insignifiante.

Quelques fois, une requète est plus rapide qu'un accès au système de fichier. Tout dépend comment tu te "démerdes" :p
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
29 avril 2007 à 17:59
Malheureusement chez certain on voit se développer la méthode inverse de ne plus jammais utiliser de BDD (bon là si y a que 5 utilisateurs ça ne se voit pas). Mais j'ai déja vus un mec qui utilisais un fichier d'environ 60000 ligne (60000 enregistrement) pour se faire ses recherches pour son appli : Résultat : lenteur, utilisation inutile de la mémoire,... (et bordel). Sur des cas simple (config par exemple) un fichier est tout à fait justifier. Mais dés que l'on a besoin de trier, de selectionner, de mettre à jour de données les sgbd étant bien conçu (pour mysql, oracle,...) les fonctions de recherchent seront assez vite moins lourde, plus rapide et moins gourmande en mémoire pour la machine executant php/apache car ces fonctions utilisent des algorithmes plus évolués (ainsi que des caches,...).
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
29 avril 2007 à 17:41
Salut,

Plusieurs failles :
- les identifiants dans la source, c'est pas sécurisé. Même si on ne peut pas voir la source quand php interprète le script, si php tombe en rade seul (déjà vu) alors...
- tu n'utilises pas la superglobale $_POST et ne fait aucun traitement sur les variables saisies dans le formulaire => risque d'injection de code php

Et puis la redirection en javascript... c'est très moyen...

- placer les identifiants de connexion dans un fichier qui n'est pas dans l'arborescence de publication du site web. Comme ce n'est pas possible chez tous les hébergeurs, le placer dans un répertoire protégé par un .htaccess. Ainsi, même si quelqu'un parvient à afficher le code du script, il n'aura pas accès aux identifiants de connexion.
- utiliser une fonction à inclure dans les pages (php) à protéger
- utiliser la variable superglobale $_POST et les fonction html_entities() et strip_tags() sur les données saisies
- utiliser la fonction header() pour la redirection
- on doit même pouvoir faire quelque chose de joli avec de l'Ajax (puisque c'est à la mode...).

Concernant le fait de ne pas vouloir utiliser de base de données, c'est, en ce qui me concerne, quelque chose de tout à fait compréhensible. On utilise maintenant des bases de données pour tout faire, même stocker des configurations (la plupart des applications web le font).
On oublie trop souvent que quand on utilise une base de données depuis un script php, le processus est le suivant :
- connexion au serveur de base de données (échange dans les deux sens... Pour mémoire, le serveur de bdd n'est pas toujours sur la même machine que le serveur http, donc connexion tcp/ip, contraintes liées au réseau, à l'encombrement de celui-ci, au débit, etc)
- envoi de la requête
- exécution de la requête => ACCES DISQUE
- envoie du résultat de la requête
Quand on lit des informations directement depuis un fichier, on se contente d'un accès disque et on se dispense donc de toutes les autres étapes.

PHP gère très bien les accès disque, surtout quand il s'agit de lire le contenu brut de fichiers de petite taille. Il existe même des fonctions optimisées pour ça qui dispensent de lignes de code pour lire un fichier.
greensheep29 Messages postés 1 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 29 avril 2007
29 avril 2007 à 12:45
Plutot pas mal mais un inconvenient !
On peut acceder à la page sans avoir rentré le mot de passe !
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
29 avril 2007 à 01:00
Si un pirate réussi par un moyen ou par un autre d'obtenir le nom de la page théoriquement privé il pourra y accéder sans aucun problème. Ce qui n'est pas trés dur à faire (outre la fait que le pages sont généralement nommées de façon explicite ex: admin.php)

Sinon à part ça tu es au courant qu'on est au xhtml et que :
-> les balises DOIVENT être en minuscules
é-> la balise est dépréciée au profit du CSS
-> que les balises n'ayant pas de version fermante sont dites auto-fermantes :
devient


Ton code offre donc une sécurité proche de zéro, un écriture (du code) affreuse (j'allais oublie utilise ' au lien de ça " c'est plus rapide et <?php au lieu de <? parce que <? n'est pas normalisé, peut faire référence à du xml et en plus sera probablement supprimé de php d'ici quelque version). L'avantage vis à vis des débutants c'est quetu présentes tous ce qu'i ne faut pas faire.

Et sinon c'est une manie chez certains de ne pas utilisé de base de données (notamment mysql)?
steve2206 Messages postés 95 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 30 octobre 2013
28 avril 2007 à 20:49
en affichant la source de la page il n'apparait pas, le problème réside je crois dans le fait que la page de redirection n'est pas sécurisée du tout;
cs_Mizuka Messages postés 66 Date d'inscription jeudi 4 août 2005 Statut Membre Dernière intervention 16 décembre 2009
28 avril 2007 à 20:30
Déjà niveau sécurité, quand je vois que les informations de connexion apparaissent dans le code ... C'est aberrant !

Miz'
steve2206 Messages postés 95 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 30 octobre 2013
28 avril 2007 à 20:05
Donner votre avis sur cette source svp, surtout sur sa sécurité
Rejoignez-nous