Aide - Recherche - Membres - Calendrier
Version complète : Supprimer l'écriture dans configure.php
Forum osCommerce-fr > Les Bases d'OsCommerce MS2 > Installation de la boutique
claude27
Bonjour, il y a des mois que je galère avec ce fichier.
Qui peut me dire comment mettre confugure.php en lecture seul.
FaileZilla refuse de le faire.
merci d'avance.
Claude
sykaflex
ou avec le bon CHMOD !!???


j'suis nul mais j'aime bien participer à ce forum
de temps en temps je donne l'adresse d'un bon resto ! blush.gif

el Sykaflex
shoprun
Ton hébergement ne serait il pas du genre Free, gratuit par hasard ?
A titre informatif de ce genre d'hébergement : osC et Free


Citation
c'est quoi FaileZilla ?
FileZilla, un client FTP, pour déposer tes fichiers sur ton hébergeur. Très connu pourtant blush.gif

Citation
de temps en temps je donne l'adresse d'un bon resto ! blush.gif
Tu ne connaîtrais pas un bon resto du coté de la cote Ouest de la Réunion par hasard, à St Gilles Les Bains, La Saline Les Bains, bref, un truc au bord de la plage quoi laugh.gif

Ok, je sort arrow.gif
sykaflex
bien vu shoprun
j'avais bien dit que j'étais nul !
mais je suis curieux et tout ça ne répond pas à la question
je ne vois pas le rapport entre le client ftp et les restrictions de changement de chmod
chez un hebergeur, et cette galère depuis des mois !
tu n'aurais pas quelques infos supplémentaires, cher claude27
shoprun
Citation
je ne vois pas le rapport entre le client ftp et les restrictions de changement de chmod
chez un hebergeur, et cette galère depuis des mois !

C'est clair, sans précision de la part de Claude27 tout sera que pure supposition ...

Cependant, ta réponse sème le trouble : Pourquoi des mois ? Tu rencontre le même problème ?
Sa question ne date d'à peine 2 jours ?

Ceci dit, un client FTP est directement lié aux droits sur les fichiers, car quand on publie un fichier, celui ci a automatiquement des droits, il faut donc bien que le soft lui en accorde, sinon ça va coincer.
Par défaut, le CHMOD est de 644, enfin, ça doit dépendre des différents soft, mais c'est le cas de FileZilla. Enfin, à vrai dire je sais pas vraiment, c'est peut être le serveur qui accorde des droits par défauts, ça a l'air d'être le cas d'ailleurs.

Ensuite, ce genre de soft offre toujours la possibilité de changer les droits sur un fichier ou un répertoire selon ses désirs, du besoin.
On sait tous que par exemple les configure doivent avoir un CHMOD de 444, uniquement en lecture.
Cependant, pour faire ce genre de manip avec un client FTP, il faut avant tout se connecter (paramètres) avec des droits suffisants, et ces infos sont normalement données par l'hébergeur.
De plus, tout bon hébergeur permet de créer d'autres accès (paramètres) via FTP avec des droits différents, ce qui permet par exemple de donner des droits uniquement pour déposer ou récupérer des fichiers, mais pas les modifier ou les supprimer, ça peu servir.

Tout ceci sort un peu du cadre d'osCommerce, mais si ces précisions peuvent aider blush.gif
sykaflex
merci Shoprun pour ces précisions

Citation
Bonjour, il y a des mois que je galère avec ce fichier.


pour le mois de galère c'est le premier post de Claude 27
pour moi c'est OK
shoprun
Citation (sykaflex @ 25 Sep 2008, 18:38) *
pour le mois de galère c'est le premier post de Claude 27
mrgreen.gif

Alors ça lui servira p't'être quand il reviendra ... dans 6 mois laugh.gif
jcpconsult
Concernant la gestion des droits sur les fichiers, si l'hébergeur a des serveurs sous Linux, cela ne doit poser aucun problème.
Car l'espace de stockage des fichiers accessible par ftp est un répertoire qui reçoit tous les droits en R, W, X (lecture, écriture et exécution) pour l'utilisateur FTP connecté.
C'est à dire quand on fait un transfert via ftp (avec Filezilla par exemple) dans le répertoire racine du ftp, on a tous les droits sur tous les fichiers qui y sont écrits. Il ne peut y avoir de restriction système.

Il est possible que ce soit Filezilla qui merde un peu, je l'ai utilisé tout à l'heure, justement pour régler ces problèmes de droits, cela n'a pas été immédiat. J'ai effacé et retransferé le fichier du mon PC, plusieurs fois.

Je suis même passer par les commande ftp en console, c'est ce que considère comme étant le plus fiable.

Pour cela ouvrir une console, tapez la commande ftp <nom du serveur> et "entrée".
Normalement il demande code d'accès et le mot de passe. Puis on est connecté et identifié au serveur
On se trouve avec un ">", et on doit passer des commandes comme sous un shell Bash. Cela va faire bizarre à ceux qui connaissent que Microsoft et Windaube. Et oui ftp, c'est de l'Unix!

Se mettre dans le répertoire catalog/includes : cd catalog/includes (mon répertoire catalog est à la racine de mon ftp)
Ensuite on peut changer les droits du fichier par la commande : chmod 544 configure.php

Explication pour ceux que cela intéresse, 544 cela signifie : droit de lecture et d'exécution pour le propriétaire (owner) du fichier 4+1 = 5, droit de lecture pour le groupe (group) 4 et idem pour le reste du monde (other) 4. En unix, R (lecture) = 4, W (ecriture) = 2 et x (exécution) = 1, par exemple un fichier qui possède les droits RWX a la valeur 7 = 4+2+1, et les droits s'appliquent au propriétaire, aux membres des groupes auxquels le propriétaire appartient et finalement à tous les autres.

En plus, il y a 2 fichiers configure.php; un dans le répertoire catalog/includes et un dans le catalog/admin/includes.

Je suppose qu'un serveur windows doit gérer des droits sur les fichiers, cela existe sous XP.
bzmuz
chez free c'est special tongue.gif

http://www.free.fr/assistance/947-acces-li...interdites.html


donc free pas bien pour osc, ni pour tout ce qui est pro, ni pour php, ni pour le flash (chargement 40ko/s!!), pas bien non plus pour les page perso (trop lourd à charger les photo de mamie..). Heu... free bah quand il y a pas de soucis c'est un bon FAI.
cocomino
bon, alors, pour ma culture sécurité, que vaut ce type de code (dans le fichier catalog/includes/application_top:
Code
chmod('includes/configure.php',0444);

avant :
Code
// include server parameters  
  require('includes/configure.php');


la protection est effective, mais est elle suffisante au démarrage du fichier application_top pour protéger les droits d'écriture sur configure.php ?
(j'avais déjà posé la question sur un autre post traitant du CHMOD, mais sois la question est passée à l'as, soit elle est si saugrenue que personne n'a répondu
... unsure.gif j'ai testé le code chez un hebergeur qui n'autorise pas la manip' CHMOD par le biais du FTP et il est fonctionnel)
NoZic
Bonjour,

Bien sûr tu règles la restriction juste avant l'appel du fichier, mais ce n'est pas actif avant.

Enfin si, ce n'était pas actif avant d'avoir affiché juste une page d'osc puisque tu passes par l'application_top.php pour chaque page, tu fais le réglage la première fois et si tu n'y retouches jamais, il reste comme ça (bon si tu fais ailleurs un autre chmod('includes/configure.php',xxxx); ou xxxx sont des droits différents et que tu ne réaffiche pas de nouvelle page, les changements de l'autre chmod resteront jusqu'à que tu repasses sur application_top, qui régleras de nouveau à 0444).

Attention toutefois, chmod n'est valable que sur systèmes UNIX, pas windaube...

Le mieux de toute façon (si tu peux évidemment), c'est de le faire une fois le fichier transféré directement en ftp, comme ça c'est fait et pas besoin de ligne en plus dans application_top.php, sauf bien entendu si tu veux pouvoir écrire dedans à certains moments, auquel le mieux est de faire le réglage pour l'écriture seule, écrire dedans et remettre les bons droits immédiatement après avoir refermé le fichier, enfin c'est ce que je ferais.
shoprun
J'ai l'impression que tu veux régler (ou gérer) le chmod de ce configure via un code Php (en supposant que l'hébergeur autorise cette commande) car via un client FTP tu ne peux pas, C'est ça ?

Allez, en admettant que ça soit ça, et bien tout à fait, d'ailleurs, ça me donne une idée qui d'après moi est excellente, qui va éviter les oubli, ça m'est déjà arrivé, et même plus d'une fois.

Dans le header on a un test/condition sur les droits de ce fichier configure.php, et si les droits ne sont pas suffisants un beau message d'erreur nous l'avertis. Cool ... On le laisse, c'est on jamais ...
Mais rien n'empêche de reprendre (copier) ce même test/condition et de le placer à nouveau (coller) dans le application_top.php, mais sans le message d'erreur, pour forcer/changer le chmod en cas d'oubli.
Je crois que je vais l'adopter, allez, réflexion faite, je l'adopte laugh.gif

Code
if ( (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) && (is_writeable(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) ) {
    @chmod(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']).'/includes/configure.php', 0444);
}
Bon, dans le header il y a une condition supplémentaire -> if (WARN_CONFIG_WRITEABLE == 'true') qui ici (application_top.php) faudra exclure vu que la constante WARN_CONFIG_WRITEABLE vient des config de la BDD qui à ce moment n'existe pas encore.
Quelque part c'est un peu c** car avec de code théoriquement cette constante n'est plus utile car le chmod sera toujours de 444, normal, c'est le but.

Sait pas si c'est cela dont tu t'interroge.
oneill
Pour ne plus avoir ce problème, Gnidhal à ajouter une fonctionnalité à la version RC2 française (pas encore sortie). Avec sa modif, les fichiers configure.php changent de CHMOD automatiquement à l'installation de la boutique.

Pour cela, il faut :

Dans catalog/install/templates/pages/install_4.php remplacer
Code
  $fp = fopen($dir_fs_document_root . 'includes/configure.php', 'w');
  fputs($fp, $file_contents);
  fclose($fp);

Par
Code
  @chmod($dir_fs_document_root . 'includes/configure.php',0777); // modif Gnidhal

  $fp = fopen($dir_fs_document_root . 'includes/configure.php', 'w');
  fputs($fp, $file_contents);
  fclose($fp);

  @chmod($dir_fs_document_root . 'includes/configure.php',0444); // modif Gnidhal

Et
Code
  $fp = fopen($dir_fs_document_root . 'admin/includes/configure.php', 'w');
  fputs($fp, $file_contents);
  fclose($fp);

Par
Code
  @chmod($dir_fs_document_root . 'admin/includes/configure.php',0777); // modif Gnidhal

  $fp = fopen($dir_fs_document_root . 'admin/includes/configure.php', 'w');
  fputs($fp, $file_contents);
  fclose($fp);

  @chmod($dir_fs_document_root . 'admin/includes/configure.php',0444); // modif Gnidhal


Comme ça plus de soucis.

Merci à lui
chocolatnj
bonjour,
Novice en php, et oui il faut apprendre toutes ces bêbete intéressante, j'ai suivis ces conseils, mais j'ai toujours ce message d'erreur!
Help please !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.