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 :

Condition d'affichage


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 90
    Par défaut Condition d'affichage
    hello,

    ma question est simple : j'ai un programme qui va lire le contenu d'une page php (qui ne contient qu'une série de nombres). Cependant, j'aimerais que cette série de nombre ne puisse pas s'afficher quand on veut accéder à cette URL via un navigateur internet (dit autrement : je ne veux qu'un type qui copie colle l'URL du programme dans son navigateur préféré tombe sur une page blanche).

    Comment puis-je détecter de manière simple si une URL est chargée depuis un navigateur ou "autre chose" ? (programme etc.)

    Merci d'avance !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    La seule information dont vous pouvez disposer pour identifier le client c'est de l'entête HTTP user_agent (qu'on retrouve en PHP par exemple par la variable : $_SERVER['HTTP_USER_AGENT']). Mais étant donné que c'est le client lui-même qui la fournit, il peut très bien la falsifier.

    Votre programme pourrait peut être ainsi fournir une valeur particulière qui permettrait de l'identifier de tout autre client ?

    Sinon, éventuellement envisager de mettre en place une identification (même HTTP qui reste sommaire), à moins d'avoir d'autres moyens d'identifier le programme (adresse fixe par exemple).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 90
    Par défaut
    Citation Envoyé par julp Voir le message
    La seule information dont vous pouvez disposer c'est de l'entête HTTP user_agent (qu'on retrouve en PHP par exemple par la variable : $_SERVER['HTTP_USER_AGENT']). Mais étant donné que c'est le client lui-même qui la fournit, il peut très bien la falsifier.
    Ok, mais ceci requiert quand même une certaine maitrise de ces choses là, que n'auront pas les personnes concernées.

    Mais du coup, avec HTTP_USER_AGENT, j'ai apparemment accès au navigateur ; si je veux exclure tout type de navigateur, il faudrait que je fasse un test de tous les navigateurs possibles et imaginables (sachant que je n'ai aucune idée de la tronche qu'aurait le HTTP_USER_AGENT lorsque c'est le programme (matlab) qui va lire cette URL).

    Une idée à ce propos ? Merci encore !

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Exclure tous les clients connus est impossible d'autant plus que les excentricités ne pourraient être gérées. Votre programme n'en émet-il pas une particulière ou n'avez-vous pas la possibilité de la modifier pour que ce soit le cas ?

    Pour le savoir, il suffit d'utiliser un sniffeur de paquets voir plus simple de faire afficher cette donnée et de la récupérer par votre programme ou encore de logguer cette donnée côté serveur (via le serveur directement ou le script appelé).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut
    Bonjour,

    Si j'ai bien compris votre problème et si vous êtes assez libre, peut être qu'une solution pourrait être quelque chose comme ça:

    - Un dossier où se trouve votre/vos fichiers à lire
    - Un fichier proxy.php qui se trouve dans ce même dossier
    - Un fichier .htaccess qui dit que TOUTES requêtes est redirigé vers ce "proxy.php"

    Le but du jeu serait de faire passer un code à votre requête que seul proxy.php connait.

    Dans la mise en situation:

    - Une requête vers votre fichier : domaine.com/data/mon_fichier.php?code=super_mot_de_passe_introuvable

    - Le .htaccess transforme ça en domaine.com/data/proxy.php?file=mon_fichier.php&code=super_mot_de_passe_introuvable

    - Le fichier proxy vérifie que le paramètre code est présent et est bien ce qu'il attend, si non il stop le script et/ou envoie un message, si oui il teste si le fichier demandé est présent et si oui l'ouvre et affiche le contenu

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 90
    Par défaut
    merci pour vos réponses, je vais essayer tout ça et choisir

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Pourquoi pas
    Si c'est un programme qui fait une requete, on peut la faire en post.

    Donc copier l'url ne servirait à rien parce que les paramètres passés à la page ne serait pas visible dans l'url.
    Ajouté à un mot de passe costaud et un nom d'utilisateur (exigés par la page php) très peu de personne pourrait y accéder et même savoir que cette page existe.
    On le fait pour des retours de paiement CB alors pourquoi pas dans votre cas.
    On peut aussi crypter les données affichées et les décrypter en local.

    Voila quelques pistes

    Bon dev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/01/2009, 21h26
  2. radiobutton +oracle +condition d'affichage
    Par jean sami dans le forum Débuter
    Réponses: 2
    Dernier message: 18/09/2008, 20h28
  3. Poser des conditions pour affichage.
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/08/2008, 14h38
  4. [Débutant] Problème de condition à l'affichage
    Par chipster45 dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 09/06/2008, 10h26
  5. Vérification de condition avec affichage message
    Par spirou dans le forum Langage
    Réponses: 6
    Dernier message: 05/01/2006, 22h27

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