Compréhension de code en PHP (htaccess)

Résolu/Fermé
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 - 18 mai 2009 à 11:51
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 - 4 juin 2009 à 14:49
Bonjour,

Voilà je suis actuellement en stage de dev et je reprend un site web que je n'ai pas créer. J'essaye d'en comprendre les codes mais pas facile pour un débutant, surtout avec le site d'un professionnel :\ ...

J'ai des soucis de compréhension notamment pour ce code dans une feuille htaccess :

php_flag register_globals off
<IfModule mod_php5.c>
php_value default_charset 'UTF-8'
</IfModule>

La 1ere ligne ok, c'est pour remettre la valeur register_globals en off, même si je ne comprend pas bien l'avantage de cette variable en off...apparemment ce serait par soucis de sécurité mais je n'en sais pas plus.

Pour ce qui est de la suite IfModule ce serais une "installation" de module mais je ne suis pas certain du tout de ce que j'avance et je ne vois d'ailleurs même pas comment c'est censé fonctionner >_< !

Plz, si vous pouvez m'aider ce serait le bonheur car là je suis bien en galère...

Merci d'avance
Bien cordialement,
VieTgOOx.
A voir également:

9 réponses

empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
19 mai 2009 à 11:51
As-tu déjà utilisé WampServer ? Tu peux y activer des modules et les desactiver à quoi ils servent... En gros à permettre certains controles, comme la réécriture url, le fait de pouvoir ouvrir une balise php de cette manière <? et non plus <?php (ce qui n'est pas vraiment super nécessaire), si tu es chez un hébergeur tu peux pas accèder aux modules juste connaitre leurs état, maintenant si tu es sur le serveur de ton entreprise ou chez quelqu'un que tu connais tu peux demander à ce qu'on active les modules dont tu as besoin...
1
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
19 mai 2009 à 13:18
Salut,

La condition dans le htaccess permet simplement de ne pas configurer la variable php_value si le module PHP n'est pas installé sur le serveur WEB (apache), variable qui est propre à ce module. Cela permet d'éviter une erreur si le module PHP n'est pas disponible.

Pour register_globals off , cela désactive le fait que les variables $_GET, $_POST ... soient automatiquement converties en variables globales, cela est dangereux. C'est pour ca que la variable est placée à off par défaut en PHP 5 et n'existe plus en PHP 6 (elle sera donc forcement à off). C'est pour ca qu'on développer toujours avec register_globals off à l'heure actuelle, par sécurité et pour être compatible avec PHP6.
1
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
18 mai 2009 à 12:10
J'ai fais des recherches dans le manuel PHP pour ta première ligne et ai remarqué ce message d'avertissement :
Avertissement
Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 6.0.0. Nous vous encourageons vivement à ne plus l'utiliser.


If = Si --> une condition, donc on dirait que ça veut dire, Si le module "mod_php5.c" est présent, alors mettre le charset UTF-8 par défaut

C'est ce que ça a l'air de dire en gros, donc le charset c'est pour définir le type de codage de caractères utilisé, ici c'est le codage approprié pour afficher les caractères Français...
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
18 mai 2009 à 12:18
Merci de ta réponse, surtout aussi rapidement :)

Mais qu'est ce que ça fait dans une feuille htaccess?? o_O ! J'ai du mal à comprendre.

Pour la 1ère ligne, en effet c'est ce que je commençais à voir, apparemment ce n'est plus utilisé...mais j'ai remarqué déjà plusieurs codes dépassés dans ce site...et à la limite je comprend tout à fait ce que cette ligne fait dans une feuille htaccess puisque qu'il n'y a que dans cette feuille que l'on peu modifier cette variable je crois...

Enfin bon c'est déjà plus claire grâce à toi, merci bien.

Cordialement,
VieTgOOx.
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
18 mai 2009 à 15:11
Le reste du code est dans la feuille HTACCESS car je ne pense pas qu'on puisse vérifier la présence d'un module en PHP... Donc c'est sûrement aussi dû à une obligation :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
19 mai 2009 à 07:50
Arf, pourrais-tu être plus claire car je n'ai pas bien compris ce que tu essayais de me dire là ? :s
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
19 mai 2009 à 09:13
Tu as dis que tu comprenais la 1ère ligne et que tu voyais pourquoi elle était obligatoire dans le htaccess mais pas le reste du code et moi je t'ai dis qu'il fallait faire une vérification vis-à-vis d'un module PHP et on ne sait sûrement le faire que via la feuille htaccess donc c'est aussi obligatoire...

Dis moi si tu as compris, je sais pas comment mieux expliquer ^^ mais j'essayerai si il le faut ;-)
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
19 mai 2009 à 09:26
Si oui ok j'ai compris ^^!

Par contre ce soit disant "module" il doit bien sortie de quelque part non? Enfin j'ai jamais utilisé de module donc je ne sais pas bien comment ils sont censé fonctionner, installé, sous quel forme ils sont enfin bref...

Comment je peux retrouver ce module et savoir à quoi il sert?

Merci de ton aide en tout cas empty, et de ta rapidité très apprécié :)
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
19 mai 2009 à 12:59
OK ben la le truc c'est que c'est un hébergeur totalement externe à l'entreprise...c'est chez Planet Hoster je crois...mais ok j'ai compris à quoi servait un module.

Mais si je suis ton raisonnement, ce Ifmodule ne peux servir qu'à connaitre " l'état " du module, donc s'il est activé ou non c'est ça? Mais alors dans le cas ou il n'est pas activé il se passe quoi? Y'a pas de else donc aucune instruction si le module n'est pas activé ou s'il n'existe pas...

Merci encore de ton aide et du temps que tu prend pour me répondre :)
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
19 mai 2009 à 14:02
Voilà il a répondu pour toi :-)
0
VieTgOOx Messages postés 160 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 9 janvier 2011 26
20 mai 2009 à 14:13
D'accord :) merci, bien pour votre aide!!

Grâce à vous cela m'a permis de mieux comprendre le code et de pouvoir le compléter en partie ^^!

Celui que j'ai mis plus haut est devenu:

php_flag register_globals off
php_flag short_open_tag on
<IfModule mod_php5.c>
php_value default_charset 'UTF-8'
</IfModule>
Options MultiViews

Encore merci et à bientôt pour de nouvelles aventures =D !

Spéciale dédicace (et remerciement surtout XD) à empty qui m'a suivis tout le long de mon problème :)
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
4 juin 2009 à 14:49
Merci, aucun problème :-) tu veux bien mettre ton article en tant que résolu et voter "+" pour les articles qui t'ont aidé ?
0