Aller au contenu

shenron76

Webmaster Régulier
  • Compteur de contenus

    67
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

Visiteurs récents du profil

1 721 visualisations du profil
  1. Bonjour tout le monde, Bon vous pouvez préparer les cailloux ... si si je les mérite ... (bon pas trop gros ok ?!?) Mon problème est résolu, j'ai rédigé mon post un soir après une journée interminable, la fatigue à donc grandement joué ... Le problème venait tout simplement du fait que mon problème ne survenait pas sur la page index.php (comme indiqué au début) mais de la page telecharger.php (indépendante de index.php) sur laquelle j'avais tout simplement oublié d'inclure : <?php require ('./fonctions.php'); ?> ... désolé pour l'étourderie ... et merci pour votre participation Johan ... c'est bon je suis prêt vous pouvez lancer vos cailloux !
  2. Oui c'est clair, c'est pour cela que je procède ainsi maintenant sur index.php: require ('./fonctions.php'); //Toutes les fonctions des modules foreach(glob('modules/*/fonctions.php') as $fichier_fonctions) { require($fichier_fonctions); }
  3. Bonjour , Tout d'abord, merci pour vos réponses. Les fonctions ne sont pas dans des classes, elles sont comme tel dans deux fichiers différents, ces deux fichiers étant inclus sur lune meme page. J'ai bien vérifié il n'y a pas de fautre de frappe. tarte-au-sucre : comme indiqué dans mon premier post, j'ai bien un "fatal error". Je pense que le problème provient du fait que les 2 fonctions sont dans deux fichiers différents (qui sont inclus sur la même page bien évidemment) mais du coup la fonction faisant appel à l'autre n'arrive pas à la trouver. Y a t il un moyen d'éviter ce soucis ?
  4. Bonsoir, Je me trouve confronté à un problème d'appel de fonction. Sur la page index.php j'ai : <?php require ('./fonctions.php'); require ('./autres_fonctions.php'); ?> Le fichier fonctions.php : <?php function existence_bdd($table) { //Le code de la fonction } ?> Le fichier autres_fonctions.php : <?php //Module X require ('./modules/mod_X/fonctions.php'); ?> Le fichier modules/mod_X/fonctions.php : <?php function trier() { if(existence_bdd('maTable') > 0) { //Blablabla } } ?> J'ai donc une succession d'inclusions de plusieurs fichiers dont 2 contiennent des fonctions. En clair une fonction A présente dans un fichier A fait appel à une fonction B présente dans un fichier B. Les fichiers A et B sont en require() sur une page index. Cependant, le script m'affiche l'erreur suivante : Fatal error: Call to undefined function existence_bdd() in /home/blabla/www/modules/mod_X/fonctions.php on line 33 En gros il ne trouve pas la fonction existence_bdd(). Comment faire pour garder un système d'include en faisant en sorte que les fonctions incluses précédemment soient prises en compte dans la fonction d'un script inclue à la suite ? Merci d'avance
  5. D'après phpinfo(); : open_basedir / no value / no value Il n'est donc pas activé. Le message d'erreur était Warning: include(./../test2/pages/parametres.php) [function.include]: failed to open stream: Permission denied in /home/test1/www/index.php on line 77 Warning: include() [function.include]: Failed opening './../test2/pages/parametres.php' for inclusion (include_path='.:/usr/share/php5') in /home/test1/www/index.php on line 77 Ligne 77: include('./../test2/pages/parametres.php'); En passant les permissions chmod de test2 à 711 (à la place de 701 par défaut) je n'ai plus d'erreur et l'include se fait correctement...
  6. Enfin quelqu'un qui semble comprendre ma problématique :-) Merci pour ta réponse, Qu'entends-tu par "pas mal" de requêtes ? Comment développes-tu la structure de tes BDD, chaque champs qui doit s'afficher côté back-office est-il stocké dans une entrée d'une de tes tables ? Qu'entends-tu par back-end ? J'aimerais discuter avec toi de ce sujet ... Dans l'attente, Bonne journée
  7. Bonsoir, Je suis sur un projet de développement d'un CMS "maison" permettant de gérer plusieurs sites Internet hébergés sur un même serveur dédié mais sur des ftp différents. Tout ce qui suit est hébergé sur un même serveur dédié partitionné en plusieurs ftp. FTP n°1 : jadministre.com Contient le CMS et tout le système de gestion FTP n°2 : unsiteinternet2.com (géré par webmaster2) FTP n°3 : unsiteinternet3.com (géré par webmaster3) FTP n°4 : unsiteinternet4.com (géré par webmaster4) ... Sur jadministre.com (FTP n°1), que je gère, une interface permet à webmaster1, webmaster2 et webmaster3 de se connecter à leur espace admin et d'administrer leurs sites unsiteinternet2.com, unsiteinternet3.com et unsiteinternet4.com. Pour cela, je suis le seul à avoir les droits d'accès à un module sur jadministre.com permettant de créer des modules de gestion des différents sites. Pour créer un module, je stocke dans une BDD les champs de formulaire qu'il doit contenir, le type de vérification à effectuer à la saisie de ces champs (on doit saisir un texte ou une url, une adresse email...). Par exemple les champs de formulaire de type text sont stockés dans al table "chps_txt". En résumé tout est dynamique dans le CMS que je tente de concevoir, de la gestion du contenu d'un site à la création sur-mesure de ce système de gestion. Ce qui me paraît complexe c'est au niveau de l'affichage du contenu sur unsiteinternet2.com, unsiteinternet3.com et unsiteinternet4.com dans la mesure où chaque donnée est contenue dans une entrée d'une table. Il faut générer énormément de requête pour afficher le contenu souhaité. Par exemple, je suis webmaster2, je me connecte sur jadministre.com je veux donc gérer l'affichage d'un lien sur unsiteinternet2.com. Un lien s'affichant sous la forme <a href="xxx" title="yyy">zzz</a> , il me faut donc un champs de formulaire pour gérer le contenu de "href", un champ pour gérer le contenu de "title", un champ pour gérer le texte dur du lien. Comme ce module de gestion est généré dynamiquement, les champs de formulaire qui s'affichent sont donc stockés dans la BDD: une entrée qui contient le champ de type text pour le "href", une pour le "title" et une pour le texte en dur. Côté Front-Office (sur unsiteinternet2.com), il me faut donc 3 requêtes pour afficher dynamiquement mon lien : - une requête SELECT pour extraire le "href" - une requête SELECT pour extraire le "title" - une requête SELECT pour extraire le texte en dur Avez-vous une autre alternative ? Est-ce possible ? Ce type de système peut-il poser problème en ce qui concerne la sécurité ? Que pensez-vous de ce type de "super-CMS" ? Y-en a-t-il déjà sur le marché ? Avez-vous compris ce que je voulais réussir à faire ? Merci d'avance de me permettre d'avancer sur ma réflexion...
  8. Qu'est-ce que l'OPEN_BASEDIR ? Oui effectivement, une faute de frappe de ma part, j'ai corrigé dans le post de départ... l'include: ./../test2/pages/parametres.php
  9. Bonjour, Je suis sur Kimsufi et je me pose une question relative à la sécurité. Lorsque je crée un domaine avec Webmin, ce domaine est ajouté dans /home sur le ftp. Par exemple, je crée les domaines "test1" et "test2". J'ai donc /home/test1 et /home/test2 sur le ftp. Par défaut, test1 et test2 sont en chmod 701. Je fais un "include" sur la page index.php de test1 : include('./../test2/pages/parametres.php') Avec le chmod 701 je n'ai pas la permission de faire l'include. Pour cela je dois passer le chmod de test2 à 711 (c'est à dire autoriser les groupe à exécuter). Cela pose-t-il un gros problème de sécurité sur mon serveur ? Je pose cette question car je ne comprend pas trop les chmod et j'ai du mal à me rendre compte des conséquences. Merci d'avance.
  10. Bonjour, J'utilise TinyMCE pour l'administration d'un site. Il me semble avoir remarqué un bug à l'utilisation : Situation 1 1/ Rendez-vous sur un exemple d'utilisation sur le site de l'éditeur: http://tinymce.moxiecode.com/tryit/full.php 2/ sélectionnez un mot et choisissez un style dans la barre d'outil (prenons par exemple le style "exemple1") 3/ Vous remarquez que la barre de status de l'editeur en bas affiche "Path: p » span.example1" ce qui signifie bien que le mot sélectionné est bien entouré de la balise <span class="exemple1"></span> qui donne le style au mot. Bien évidemment, la class exemple1 est définie dans une feuille de styles. 4/ Re-sélectionnez le même mot et passez le en style exemple2. 5/ La barre de status affiche "Path: p » span.example2" 6/ Le style a bien été remplacé tout va bien :-) Situation 2 1/ Rendez-vous sur la page permettant de télécharger un package pour tester l'éditeur en local ou sur notre propre serveur: http://tinymce.moxiecode.com/download/custom_package.php (tant qu'à faire autant prendre le package le plus complet) 2/ Dézippez et affichez la page tinymce/examples/full.html 3/ sélectionnez un mot et choisissez un style dans la barre d'outil (reprenons par exemple le style "exemple1") 3/ Vous remarquez que la barre de status de l'editeur en bas affiche "Path: p » span.example1" ce qui signifie bien que le mot sélectionné est bien entouré de la balise <span class="exemple1"></span> qui donne le style au mot. Bien évidemment, la class exemple1 est définie dans une feuille de styles. 4/ Re-sélectionnez le même mot et passez le en style exemple2. 5/ La barre de status affiche "Path: p » span.example1 example2" 6/ Le style n'est pas remplacé mais ajouté ! Du coup, il y a conflit et ça ne fonctionne donc pas correctement ... Pourquoi le style n'est-il pas remplacé comme sur le site de l'éditeur ??? Je ne trouve pas d'où vient l'erreur et ça fais plusieurs heures que je teste plusieurs choses sans succès... J'espère que quelqu'un pourra m'aider car je ne pense pas être le seul à rencontrer ce problème ...
  11. shenron76

    Compte hacké ?

    Je ne préfère pas donner en public afin de ne pas faire peur aux membres ... Car même si c'est la première fois en 4ans d'activité je préfère rester discret...
  12. shenron76

    Compte hacké ?

    Bonjour, Je suis le webmaster d'un site sur lequel les membres possèdent des crédits pour jouer à des jeux. Je possède un compte sur le site (comme si j'étais un simple membre) et un autre compte permettant d'accéder à la partie administration du site. Vendredi dernier, le 23/05/08, j'ai passé la journée connectée sur Internet (via la connexion wifi d'un ami). Durant cette journée, je me suis connecté plusieurs fois à mon compte "membre", à mon compte "admin" sur mon site. Hier (samedi 24/05/08), je vais sur la partie admin et là je m'aperçois que le compte comportant l'id "125" a gagné le 23/05/08 aux alentours de 13h50. Sauf que le le compte 125, c'est MON compte "membre" !!!!! Je vais voir un peu plus en profondeur et là je m'aperçois que l'adresse email a été modifiée ! Mon adresse email a été remplacée par l'adresse "iona.i_AT_libero.it" ! Mon mot de passe n'a pas été modifié, mon adresse postale n'a pas été modifiée, bref, juste l'adresse email a été changée et tous les crédits ont été utilisés (je me sert de ce compte pour tester les jeux). Le problème n'est pas vraiment que mes crédits aient été utilisés (car j'ai évidemment supprimé le gain) mais plutôt que quelqu'un ai réussi à accéder à mon compte "membre" !!! Pour l'identification j'utilise un système de session (pseudo + mot de passe), le mot de passe est hashé dans la bdd et comporte 11 lettres... Comment cela a-t-il pu arriver ? (J'ai pensé à une interception des données via la connexion wifi ?) Comment protéger d'avantage ? Merci d'avance à ceux qui pourront m'aider car j'avoue être étonné de cette situation (en 4 ans de webmastering, et développement d'applications web, c'est la première fois que je suis sujet à un tel problème !)
  13. Bonjour, Je test bien entendu la syntaxe de l'email avant d'enregistrer les données. Ensuite, c'est seulement après que les données soient enregistrées que j'annonce qu'ils vont recevoir un mail de confirmation. Peut-être devrais-je l'indiquer avant, directement sur le formulaire d'inscription ? Je répare parfois les erreurs de saisie manuellement avant de relancer mais effectivement, si ça ne touche pas le domaine, ce n'est pas vraiment possible de connaitre la bonne syntaxe... 1) je teste la syntaxe 2) euh ?? ça veut dire quoi exactement ? 3) je corrige ou supprime manuellement (je reçois un rapport quotidien des emails en erreur) Bonne journée à tous
  14. Lol bien vu => mp Oui je suis d'accord mais dans ce cas, c'est le cas de chaque site Web qui demande une adresse mail au moment de l'inscription...et je ne vois pas comment y remédier car les fautes de frappes (et donc les adresses erronnées) font parti des erreurs humaines et légitimes. Pour ce qui est de demander une seconde saisie de l'adresse email, je pense que beaucoup font comme moi, à savoir un copier/coller, ce qui rend la seconde saisie inutile... Qu'en pensez-vous ?
×
×
  • Créer...