PROTECTION ACCÈS SIMPLE

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 2 sept. 2005 à 21:35
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 9 sept. 2005 à 16:04
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/33607-protection-acces-simple

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 16:04
Utilise $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW']

au lieu des variables actuelles (qui ne fonctionneront pas avec les register_globals à off)
thepoe Messages postés 30 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 1 juin 2011
9 sept. 2005 à 12:00
J'ai testé et ne comprend pas, car cela ne marche pas.
Dois-jr définir un nom d'utilisateur et un mot de passe sur mon serveur apache?
la, en appelant index.php il me met la fenêtre login.
Le source telquel, je saisi "login" et "pass", et la il me remet la fenêtre login...
Je comprend pas pourquoi ca marche pas. si vous pouvez m'aider svp...

Merci
malefique vous salue
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
5 sept. 2005 à 06:21
d'ailleurs exit('mon message'); et die('mon message'); auraient aussi le même effet ^^

mais ça ne sert à rien dans le cas présent de mettre un quelconque die étant donné qu'il n'y à rien à parser après...
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
4 sept. 2005 à 16:49
"Si tu fais une fonction logerreur() par exemple, qui enregistrerais dans une base sql ou un fichier les erreurs, et qui interomperais le script si l'erreur était trop grave..."
La on est d'accord. Ce que je reproche à sa fonction, c'est pas trop le fait que le exit soit présent (quoi que...), c'est surtout de faire une fonction pour un echo() suivi d'un exit. Ca n'a aucun sens :/
Par contre, faire une fonction qui stop si ca merde quelque part, la je suis 100% d'accord avec toi.

De toute facon, un exit() et un die() peuvent largement être évités sur ce genre de cas. Parce que la, j'imagine que le script est récurrent si on rentre un mauvais couple login/pass j'imagine... il y aurait mieux fallu qu'il y ait une petite gestion d'erreur qui accompagne le script. Mais bon ;)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2005 à 16:44
function error ($error_message) {
echo $error_message."
";
exit;
}
sa fonction devrait être remplacée par die...

error('mon message !'); et die('mon message !
'); auront le même effet !
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 sept. 2005 à 16:28
"Perso, j'ai toujours utilisé exit sans parenthèses ;)"

Idem,

et là pas besoin de die non plus vu qu'il n'affiche rien après et encore moins comme tu l'as souligné le besoin de faire appel à une fonction pour ça...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2005 à 16:24
Tu peux mettre exit dans une fonction, ça n'a rien d'incorect... Si tu fais une fonction logerreur() par exemple, qui enregistrerais dans une base sql ou un fichier les erreurs, et qui interomperais le script si l'erreur était trop grave...

j'ai pas dis que c'était pas corect, en C, ça ne l'est pas, php étant un dérivé du C, le plus cohérent, c'est de mettre ces parenthèses...

"Note : exit() n'est pas une véritable fonction, mais un élément de langage." => c'est donc quand même un peu une fonction, même si pas complètement... je crois qu'on a tous raison, je dois quand même admetre que ma remarque à l'origine n'était pas justifiée.
tfaçon, ici, c'était un die qui était à utiliser...
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
4 sept. 2005 à 16:15
En même temps, on ne met pas un exit dans une fonction. Parce qu'une fonction, à l'origine, est prévu pour être utilisé + d'une fois... hors la, tu coupes toute la fonctionnalité d'une fonction.

Et puis... faire une fonction pour délivrer un echo(), j'ai vu largement mieux quand même !
De plus, on écrit généralement les variables en minuscules... on utilise en principe les majuscules pour des constantes.

Pour ce qui est de exit(), moi je n'en met pas non plus. Après tout, c'est comme si j'écrivais break; avec des parenthèses ou continue; ... c'est strictement identique :)
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
4 sept. 2005 à 16:05
Alors, d'après toi, l'équipe de PHP fait des exemples qui ne sont pas corrects :D lol

Perso, j'ai toujours utilisé exit sans parenthèses ;)

Mais si tu me prouves (avec une preuve, hein :D) que c'est pas correct d'utiliser exit; alors je changerai mes habitudes :D

A++
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 sept. 2005 à 15:22
"c'est vrai que dans les exemples, exit n'a pas forcément de parenthèses, mais c'est quand même plus corect d'en mettre..."

Ah bon ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2005 à 10:32
void exit ( [string status] )
void exit ( int status )

c'est vrai que dans les exemples, exit n'a pas forcément de parenthèses, mais c'est quand même plus corect d'en mettre... il suffit de regarder la déclaration, c'est une fonction qui ne renvoi rien... la même qu'en C pour la seconde déclaration...
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
4 sept. 2005 à 09:43
Coucou747 : je ne suis pas d'accord avec toi sur ton affirmation à propos d'exit : exit N'EST PAS UNE FONCTION :

Preuve sur le manuel PHP :

Note : exit() n'est pas une véritable fonction, mais un élément de langage.

On peut donc l'utiliser sans parenthèses... ;)

A+++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 sept. 2005 à 20:31
exit est une fonction, elle mérite donc des parenthèses...
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
2 sept. 2005 à 21:35
Bonsoir
Tant qu'à mettre ça parmi les sources, autant signaler que c'est à l'utilisateur de compléter le script pour définir $PHP_AUTH_USER et $PHP_AUTH_PW avant d'arriver sur la page index. Ce sont des variables superglobales, donc pas de souci pour les faire passer d'nue page à l'autre
Rejoignez-nous