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

Discussion :

Contrôle intra\extranet pour redirection auto

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut Contrôle intra\extranet pour redirection auto
    Bonjour,

    J'ai une petite question au sujet d'une redirection un peu spéciale. J'ai un site internet hébergé par un hébergeur. Sur ce site je dois ajouté un lien vers une application web externe hébergée ailleurs.

    Le lien se trouve sur la page d'accueil du site et est de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://--IP fixe FAI internet--:port/blabla/
    Le port est là pour une redirection interne ver un serveur spécifique qui se trouve sur un LAN local. Sur ce LAN local des personnes accèderont à cette application WEB de la même façon que celles qui seront à l'extérieur c'est a dire à partir du lien présent sur le site internet.

    Le problème est que pour l'instant ce lien redirige vers l'IP d'entrée de ce LAN, mais évidement cette IP ne peut être accessible en intranet.

    L'URL pour joindre cette application web depuis le LAN est de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://--nom_ou_ip_locale--/blabla
    Je cherche a faire en sorte que cette redirection soit transparente pour l'utilisateur, qu'il n'est à cliquer que sur un seul lien et que selon où il se trouve la redirection s'effectue automatiquement. C'est a dire selon qu'il accède à l'application web depuis l'intranet (dans le LAN) ou depuis internet.

    Comment effectuer un contrôle et rediriger automatiquement ?

    - Je n'ai pas la main sur les paramètres du serveur de l'hébergeur
    - j'ai la main sur tout le code du site
    - l'hébergeur ne prend pas les htaccess
    - code html ou php

    Merci de votre aide !

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Salut,
    Je passerais par du php en testant le $_SERVER['HTTP_REFERER'] qui va te donner l'adresse du serveur qui a conduit l'utilisateur à cette page. Si cette adresse est interne tu affiche l'adresse interne sinon, l'adresse externe.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par beeboo Voir le message
    Salut,
    Je passerais par du php en testant le $_SERVER['HTTP_REFERER'] qui va te donner l'adresse du serveur qui a conduit l'utilisateur à cette page. Si cette adresse est interne tu affiche l'adresse interne sinon, l'adresse externe.
    Ah oui ? je ne connaissais pas cette fonction, ca me semble être ce que je recherche. Je te remercie je vais testé ça immédiatement

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    En fait après test, le référant est toujours le même (le site web) et je ne peux pas mettre ce script sur le serveur intranet, car justement il n'est pas accessible avec un lien classique en interne depuis le site web (qui lui est hébergé ailleurs).

    Imaginons l'URL placé sur le site internet menant vers le service WEB qui lui, est dans un LAN :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="http://--IP_FIXE_FAI:port/blabla" title="service WEBf">blabla</a>
    A partir de ce lien que l'on soit dans le LAN ou hors du LAN le référant sera toujours le même, c'est a dire l'URL présente en HREF. En tout cas avec ce type de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $URL = $_SERVER['HTTP_REFERER'];
    echo $URL;
    ?>
    Le echo me renvois l'url du HREF et le nom du fichier dans lequel il est présent.

    Voici un schéma (bon OK il est un peu raté ) pour mieux comprendre :



    J'ai testé avec :

    - $_SERVER['HTTP_REFERER']

    - $_SERVER['REQUEST_URI']

    - $_SERVER['SERVER_NAME']

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    une question, si l'url d'accès en interne et différente de celle en sortie depuis le site web (enfin c'est un peu ce que j'ai compris dsl si c'est pas ça) dans ce cas pourquoi ne pas éditer nue règle de de routage soit dans le proxy soit dans le dns? ainsi tes client intranet seront router vers l'appli hébergé en interne?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Vil'Coyote Voir le message
    pourquoi ne pas éditer nue règle de de routage soit dans le proxy soit dans le dns? ainsi tes client intranet seront router vers l'appli hébergé en interne?
    J'ai déjà ajouté une règle de routage avec iptable afin que les clients externes puissent joindre le serveur.

    Tu veux dire en fait effectuer un contrôle sur la provenance des clients et ensuite, selon cette provenance (interne ou externe), réécrire l'URL ? Mais ce qui me chiffonne, c'est que les clients proviennent toujours du même site Web qui lui est de toute façon, externe.

    Peut être faire un contrôle sur l'IP du client...

  7. #7
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    tout à fait ça un contrôle sur l'ip client permet de savoir s'il est interne ou externe sauf que dans ce cas là s'il faut obligatoirement passer par le site externe, l'ip des postes interne sera toujours la même à savoir l'ip de sortie de ton entreprie sauf si tu dispose de plusieurs ip de sortie.

    Une petite question en passant, niveau sécurité, ton serveur et pas dans le même plan que les autres et/ou dans une dmz ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    niveau sécurité, ton serveur et pas dans le même plan que les autres et/ou dans une dmz ?
    Le serveur est dans une DMZ. Pas de problème là dessus.

    tout à fait ça un contrôle sur l'ip client permet de savoir s'il est interne ou externe sauf que dans ce cas là s'il faut obligatoirement passer par le site externe, l'ip des postes interne sera toujours la même à savoir l'ip de sortie de ton entreprie
    Et comment je peux intégré ça à un code PHP ? (sur le site externe bien sûr).

  9. #9
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    les règle de routage tu les applique sur le dns pas dans ton code.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Et sinon j'ai aussi pensé à une détection sur une erreur 404, puis redirection ensuite s'il y a erreur. c'est possible ça en php ?

    EDIT :

    Je vais plus en détails :

    • 1. Je considère que par défaut (en majorité) l'accès au site intranet se fait depuis l'extérieur (internet), l'utilisateur clique sur un lien de type http://IP-du-SITE:port et est rediriger sur la page voulue.

    • 2. Si l'accès se fait depuis l'intranet le lien http://IP-du-SITE:port renverra une erreur 404.

    • 3. Je contrôle cette erreur, et change l'url en http://IP-interne-serveur/page


    Et ce, dans les deux sens.

    Le truc c'est que je ne vois pas trop comment m'y prendre en PHP, car je n'ai pas trouvé s'il existe une telle fonction de contrôle des erreurs renvoyé par les serveurs web. Je peux faire un contrôle sur ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("HTTP/1.0 404 Not Found");

Discussions similaires

  1. [timer] Compte à rebours pour redirection !
    Par Raideman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2005, 21h07
  2. Aide sur les macros Excel pour recopie auto de données
    Par nicoduhavre dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 09h38
  3. [TP7] Renvoyer des infos dans la console pour redirection
    Par Natopsi dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 05/11/2005, 19h21
  4. zerofill pour champ auto-increment
    Par seb92 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/07/2004, 16h52

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