IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vitesse de lecture fichier PHP Checklogin


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Vitesse de lecture fichier PHP Checklogin
    Bonjour,
    Je suis nouveau sur ce forum et essaie de comprendre ou de trouver une solution.
    Une association m'a demandé de présenter une bibliothèque.
    Dans ce cadre j'ai acquis un programme de 'Flipbook' qui permet la visualisation de livres .
    Ce dernier utilise flash(swf), java html,xml et un seul fichier PHP contenant les mots de passes et login.
    structure très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    	$access_granted = false;
    	if ($_POST['username']=="digital" && $_POST['password']=="pass") $access_granted = true;	
    	// if....
     
            if ($access_granted)
    		echo "success";
    	else
    		echo "error";
    ?>
    Ce fichier est attaqué par un formulaire (dont je n'ai pas accès) et dont l'appel est
    contenu dans un fichier xml, (un pour chaque sous répertoire et appel similaire)

    L'appel (dans l'xml) est le suivant:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	<!-- LOGIN BOX (to limit the access to your book) --> 
    	<Login check_script_url="resources/scripts/checklogin.php" restriction="6" >
    	<![CDATA[
    	  Entrez votre <b>Username</b> et <b>Password</b> 
          ]]>
    	</Login>
    Le paramètre restriction = 6 permet de visualiser les 6 premières pages et dès la 7e, le formulaire apparait automatiquement
    avant de lancer le formulaire de login.
    Le programme de choix fonctionne parfaitement. (actuellement 166 livres contenus dans autant des sous répertoire de 100 pages)

    Mon problème est le suivant:
    Le serveur ne reconnait pas, ou ne traite pas le fichier php dès que le nombre de répertoire est élevé.

    A fin de vérification, j'ai reproduit la structure du programme sur le même serveur en limitant à 5 les sous répertoires.
    Et alors le prog. fonctionne correctement et ce même avec un fichier checklogin.php complet.

    ex: [Code=php ]if ($_POST['username']=="CHF" && $_POST['password']=="micheline") $access_granted = true;[/C].
    if ($_POST['username']=="test01" && $_POST['password']=="GBwa") $access_granted = true;.
    if ($_POST['username']=="raymondgrosjean@skynet.be" && $_POST['password']=="_GrosjeaN_00%") $access_granted = true;.

    Je suis je suppose devant un problème de vitesse, me semble t'il.??
    Le PHP 5.3 est celui du prestataire.
    Une petite visite à www.chfleron.be sera certainement plus explicite.
    Merci de toute aide ou piste de recherche.
    PS inutile de dire que l'aide gratuite illimitée! du fournisseur est aux abonnés absent.

    Guy Bonemme

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 392
    Points : 15 746
    Points
    15 746
    Par défaut
    Citation Envoyé par FoxGB Voir le message
    Une petite visite à www.chfleron.be sera certainement plus explicite.
    je n'ai pas trouvé quel endroit du site correspond au problème posé

    Citation Envoyé par FoxGB Voir le message
    Mon problème est le suivant:
    Le serveur ne reconnait pas, ou ne traite pas le fichier php avec les 166 sous répertoires.
    que ce passe-t-il exactement ? un message d'erreur ?

  3. #3
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour Mathieu,
    Sur le site dans la barre menu en rouge Bulletins Digitalisés.
    Sélectionne dans les vignettes au hasard (les vignettes représentent le sous répertoires )

    balaie les pages à la 6eme tu verras apparaître la forme d'entrée des login, mot de passe.
    actuellement dans le fichier checklogin.php un seul ifn respectivement "digital" et "pass".
    Message; erreur de login ou mot de passe.
    Guy Bonemme

  4. #4
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut exemples
    Mathieu,
    Merci de te pencher sur mon problème:
    Pour simplifier voici les URL direct sur le serveur:

    1) Ce qui fonctionne:
    www.chfleron.be/Multi/index.html
    Structure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        $access_granted = false;
    
        if ($_POST['username']=="CHF" && $_POST['password']=="micheline") $access_granted = true;
        if ($_POST['username']=="TEST01" && $_POST['password']=="GB") $access_granted = true;
        
        if ($access_granted)
            echo "success";
        else
            echo "error";
    ?>
    2) Ce qui ne fonctionne plus:
    www.chfleron.be/Brochures.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        $access_granted = false;
    
    
        if ($_POST['username']=="digital" && $_POST['password']=="pass") $access_granted = true;
        
        if ($access_granted)
            echo "success";
        else
            echo "error";
    ?>
    Différences dans le 1er 4 répertoires et donc 4 livres.
    Dans le second 102 répertoires et 102 livres

    J'espère que c'est plus clair

    Pour mémoire la hiérarchie des répertoires server est:

    ROOT:
    Brochure.html //index.html renommé pour éviter le conflit avec le principal du site
    Setting. xml //contient les URL des book et l'appel au xml de chaque book ex: [code=xml] <Pubs> <book urlL="pubs/book1/pub.xml"><book url="pubs/book2/pub.xml"> etc.. </Pubs>
    digitalebrochure.swf
    /Pubs/book1 à x (x=actuellement 171
    /Pubs/book1 à x/pages //chaque contient une centaine de page .jpg
    /Pubs/book1 à x/pub.xml //contient les var. et param écran, contenu ET l'appel de la routine de logging (voir le code dans le message initial)
    /resources/scripts/checklogin.php
    /resources/swfaddress/swfaddress.js
    /resources/swfobject/expressInstall.swf
    /resources/swfobject/swfobject.js
    /resources/background.jpg //fond d'écran
    /resources/logo.png //logo

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 392
    Points : 15 746
    Points
    15 746
    Par défaut
    je comprend pourquoi je n'ai pas vu la page qui pose problème : quand je vais à l'adresse http://www.chfleron.be/Multi/index.html, je reçois le message "You need to upgrade your Flash Player" donc je ne peux pas tester directement alors que j'ai la dernière version de Flash installée sur mon ordinateur

    de plus si on envoie des requêtes POST directement au fichier, les 2 scripts fonctionnent donc ce n'est pas un problème de PHP

    mais il y a un autre problème dans le fonctionnement de ce système de lecture, si on trouve l'accès au fichier setting.xml, on peut ensuite retrouver le nom des images de toutes les pages et tout récupérer sans avoir besoin de passer par le script PHP de connexion
    pour que ça fonctionne, il faudrait que le script de connexion définisse une variable de session et qu'ensuite l'affichage en Flash se connecte à un autre script PHP qui vérifie la session avant de fournir l'image


    si ça peut servir, voilà le code HTML du formulaire que j'ai utilisé pour envoyer directement des requêtes POST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form method="POST" action="http://www.chfleron.be/Multi/resources/scripts/checklogin.php">
    	<input type="hidden" name="username" value="CHF"/>
    	<input type="hidden" name="password" value="micheline"/>
    	<input type="submit" value="chfleron.be/Multi"/>
    </form>
     
     
    <form method="POST" action="http://www.chfleron.be/resources/scripts/checklogin.php">
    	<input type="hidden" name="username" value="digital"/>
    	<input type="hidden" name="password" value="pass"/>
    	<input type="submit" value="chfleron.be/"/>
    </form>

  6. #6
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Mathieu,
    Merci de cette analyse.

    Flash player: Il s'agit du fichier localisé en resource : expressInstall.swf qui présente une fenêtre demandant la maj.
    Fichier je suppose qui est appelé par le swf du root et dont je n'ai pas accès.

    Il est vrai que Setting.xml est très exposé et je pensais limiter le temps des sessions.(j'ai un prog qui est censé protéger les xml mais pas testé, (il fonctionne très bien pour les HTML)et qqes autres formats.
    N'étant pas du tout expert en php je ne vois pas la possibilité de m'en sortir.
    Initialement je pensais supprimer cet appel, et le remplacer par un formulaire et une table my-sql éventuellement cryptée.
    Mais il me manque des éléments, l'information du compteur de page pour le déclenchement, et si la variable $access_granted = true est celles qui libère l'accès
    pendant la session à tous les book sans redemander le mot de passe, ou une autre variable qui est définie plus haut? genre var. publique.
    (mon expérience en programmation se limitant a visual Foxpro) hormis d'autres anciens languages)
    Vu le style de livres et la quantité et le public auquel il s'adresse, peu de chance pour pomper le site. qui plus est vu le nombre de page...

    Si tu as une suggestion je suis preneur pour remplacer la routine de mot de passe puisque le prog. fonctionne. Vu l'oppacité des swf (comprimés et je suppose protégés) la seule alternative, est de supprimer cet 'appel interne de la forme d'accès et de la remplacer.

  7. #7
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Mathieu,
    Je reviens sur ton code transmis pour tester le php. Il fonctionne comme dans l'exemple fonctionnel que j'ai transmis. Donc apparemment l'erreur doit provenir de la non transmission des données $_POST['username' $_POST['password' ceci en fonction du nombre de répertoire, peut -être une limitation interne au swf?
    J'ai tenté de remplacer le == par un simple = sans succès.
    Donc mes 2 questions:
    Existe-t'il une instruction en php pour tester le contenu dans checklogin.php avant le $access_granted = false pour vérifier le passage des paramètres du swf? (genre point d'arrêt ou trace)
    Si je supprime la définition $access_granted = false; du début le résultat sera =true si ok (donc définie) que devient la variable dans la boucle if de sortie en PHP

    Lors de mes recherches, j'ai vu dans une routine PHP concernant le cryptage et hachage de mot de passe, une instruction qui permettait de fixer un nombre de mSec pour être certain que le serveur exécutera la routine.

    Setting:
    Oui sa découverte permet de trouver la listes des répertoire ou se trouve le pub.xml de chaque Book, et par la le nombre et numéros des pages.
    Une routine d'automatisation est donc possible, mais le nombre de Hit d'un même IP et donc de charge du serveur est détecté par le FAE qui bloque le site et transmet une alerte.
    Maintenant, l'intérêt du contenu est limité (livres de récit généalogique et historique d'une région) et le nombre de pages total 260.000 rebutant.
    Amicalement

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 392
    Points : 15 746
    Points
    15 746
    Par défaut
    Citation Envoyé par FoxGB Voir le message
    Maintenant, l'intérêt du contenu est limité (livres de récit généalogique et historique d'une région) et le nombre de pages total 260.000 rebutant.
    si on prend le problème en commençant de se côté, est ce que cela vaut vraiment la peine de passer plusieurs jours à mettre en place ce système alors qu'il existe des solutions plus simples ? comme par exemple définir un mot de passe au niveau du serveur pour protéger le répertoire complet et ensuite il suffit de fournir le mot de passe à toutes les personnes autorisées à voir ces pages


    Citation Envoyé par FoxGB Voir le message
    Existe-t'il une instruction en php pour tester le contenu dans checklogin.php avant le $access_granted = false pour vérifier le passage des paramètres du swf? (genre point d'arrêt ou trace)
    Si je supprime la définition $access_granted = false; du début le résultat sera =true si ok (donc définie) que devient la variable dans la boucle if de sortie en PHP
    pour surveiller les informations transmises dans le tableau $_POST, tu peux utiliser ce code qui crée un fichier "journal.txt" dans le même répertoire que le fichier PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ajouteJournal(print_r($_POST, TRUE));
     
     
    function ajouteJournal($texte) {
        $date = date("Y-m-d H:i:s", time());
        $contenu = "[$date] $texte\n";
     
        file_put_contents(dirname(__FILE__) . "/journal.txt", $contenu, FILE_APPEND);
    }

    Citation Envoyé par FoxGB Voir le message
    Une routine d'automatisation est donc possible, mais le nombre de Hit d'un même IP et donc de charge du serveur est détecté par le FAE qui bloque le site et transmet une alerte.
    si on mets une temporisation d'une seconde entre chaque image, ce qui devrait être assez raisonnable pour ne pas être limité par l'hébergeur, les 260000 fichiers seront récupérés en 3 jours

  9. #9
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour Mathieu,
    si on prend le problème en commençant de se côté,......
    Dans ce cas, je perd les vignettes et la page index du contenu du livre accessible à tous, et la pagination livre, mais c'est une solution.
    A propos: flash et IE w7 et 8, il ya des pb d'installation même si la dernière version de flash est installée. J'ai la suite adobe cs5. Si tu utilises
    chrome, essaye le site et c'est OK.

    J'essaye le prog, mais j'ai peur que le pb vient de l'appel dans le swf.

  10. #10
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Ton fichier
    Mathieu,
    J' ai deux fichiers:
    Celui sur le site dans ta réponse (9 lignes)
    Je l'ai utilisé en copiant dans checklogin.php.
    Première ligne: ajouteJournal(print_r($_POST, TRUE)); et le reste de chechlogin.php
    La fonction en fin de fichier. (aussi testée en fichier indépendant ajouteJournal.php.
    Résultat pas de ficher de log (testé sur le répertoire /Multi

    Le 2eme est celui se trouvant ds l'email d'annonce de ta réponse, plus complet définition de table, visualiser ds une fenêtre à part etc.
    Je me suis trompé je suppose.
    merci

Discussions similaires

  1. [PEAR] Lecture fichier Excel : PHP-ExcelReader
    Par kitana dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/04/2009, 18h45
  2. [Wamp] demarrage php, pb de lecture fichier php
    Par annuni dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/11/2007, 11h05
  3. [LabView 8.5] ralentir vitesse de lecture d'un fichier
    Par Fwanck! dans le forum LabVIEW
    Réponses: 1
    Dernier message: 30/10/2007, 17h46
  4. Probleme Lecture Fichier RSS avec PHP 4
    Par sirbaldur dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2006, 09h43
  5. vitesse de lecture d'un fichier ascii
    Par yan dans le forum C++
    Réponses: 5
    Dernier message: 31/01/2006, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo