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 :

Afficher une page web externe [PHP 7]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Afficher une page web externe
    Bonjour à tous,
    Je souhaiterais afficher différentes pages web externe qui changerait tous les X temps, je commence donc mes recherches par l'affichage d'une première page avec le code ci-dessous mais malheureusement sans grand résultat car la page en HTML s'affiche mais sans CSS ni de JS. Avez-vous une solution (qui peut être autre que du PHP) pour afficher une page externe ?

    Merci d'avance et bonne journée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
    $ch = curl_init();
    $url = "http://mapageweb2:3030/";
     
    $config['useragent'] = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0';
    curl_setopt($ch, CURLOPT_USERAGENT, $config['useragent']);
     
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
     
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
     
    $result = curl_exec($ch);
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<title>TEST</title>
    </head>
    <body>
    	<div><?= $result ?></div>
    </body>
    </html>

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 333
    Points : 15 677
    Points
    15 677
    Par défaut
    ce qui se fait habituellement pour afficher les données d'un autre site est que ces données sont fournies par une API qui envoie uniquement les données et ensuite quand vous avez ces données, vous les présentez sur votre site en utilisant le code css de votre site.
    si vous avez besoin de plus de conseils pour faire cela, il faudrait que vous nous donniez plus de détails sur ce que vous récupérez et comment ces données sont utilisées sur votre site par exemple.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    La solution de simplicité c'est une iframe dont tu changeras la source au besoin en javascript.

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par grunk Voir le message
    La solution de simplicité c'est une iframe dont tu changeras la source au besoin en javascript.
    Merci pour avoir répondu si rapidement, j'avais essayé cette solution mais il me dit qu'il n'autorise pas la connexion, je sais pas si c'est moi qui m'y prends mal (surement) ou si c'est la page web que je souhaite contacter qui n'excepte pas cela, j'ai essayé avec google.be

    Nom : Capture.PNG
Affichages : 1231
Taille : 3,6 Ko

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<title>TEST</title>
    </head>
    <body>
    	<iframe src="https://www.google.be" style="width:  100%; height: 100vh;"></iframe>
    </body>
    </html>

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par mathieu Voir le message
    ce qui se fait habituellement pour afficher les données d'un autre site est que ces données sont fournies par une API qui envoie uniquement les données et ensuite quand vous avez ces données, vous les présentez sur votre site en utilisant le code css de votre site.
    si vous avez besoin de plus de conseils pour faire cela, il faudrait que vous nous donniez plus de détails sur ce que vous récupérez et comment ces données sont utilisées sur votre site par exemple.
    Merci pour avoir répondu si rapidement, Enfaite j'ai 2 serveurs Web qui tournent don 1 avec Dashing.io avec un dashboard en Ruby que je dois modifier au minimum et donc je voudrais créer une page qui récupére ce dashboard et d'autres pages mais qui ne disposent pas d'API

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Citation Envoyé par AmoryHoub Voir le message
    Merci pour avoir répondu si rapidement, j'avais essayé cette solution mais il me dit qu'il n'autorise pas la connexion, je sais pas si c'est moi qui m'y prends mal (surement) ou si c'est la page web que je souhaite contacter qui n'excepte pas cela, j'ai essayé avec google.be

    Nom : Capture.PNG
Affichages : 1231
Taille : 3,6 Ko

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<title>TEST</title>
    </head>
    <body>
    	<iframe src="https://www.google.be" style="width:  100%; height: 100vh;"></iframe>
    </body>
    </html>
    Certains site (dont google) bloque leur rendu dans les iframes via une entête spéciale X-Frame-Options

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par grunk Voir le message
    Certains site (dont google) bloque leur rendu dans les iframes via une entête spéciale X-Frame-Options
    Merci je ne savais pas que l'on pouvait bloquer des Iframes, Y a-t-il un moyen de contourner cela ? Parce que j'utilise dashing.io pour créer mes propres dashboards mais celui-ci bloque les Iframes et je ne trouve pas l'endroit dans tous les fichiers qui ajoutent cette protection

  8. #8
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Bonjour

    Citation Envoyé par AmoryHoub Voir le message
    Merci je ne savais pas que l'on pouvait bloquer des Iframes, Y a-t-il un moyen de contourner cela ?
    Non, il n'existe pas de moyens de faire sauter cette protection. Il faut voir cela comme une avancé dans la sécurité du web. En tant que propriétaire d'un site web, tu choisis (=c'est ton choix) d'autoriser ou pas les iframes et tu peux les autoriser si et seulement la demande d'iframe provient de tel ou tel site (des sites partenaires p.ex.). Les sites "voleurs" sont donc bannis.

    Il te faut donc voir avec le propriétaire du site que tu voudrais mettre en iframe d'autoriser la connexion.

    PS : cette protection se met en place en utilisant p.ex. le fichier .htaccess qu'on place à la racine d'un site Apache / NGINX.

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Citation Envoyé par AmoryHoub Voir le message
    Merci je ne savais pas que l'on pouvait bloquer des Iframes, Y a-t-il un moyen de contourner cela ? Parce que j'utilise dashing.io pour créer mes propres dashboards mais celui-ci bloque les Iframes et je ne trouve pas l'endroit dans tous les fichiers qui ajoutent cette protection
    Chez moi ce simple exemple fonctionne :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h1> Test IFRAME</h1>
    <iframe
        width="800"
        height="600"
        src="http://dashingdemo.herokuapp.com/sample">
    </iframe>

    Nom : Capture d’écran 2022-03-23 164018.png
Affichages : 904
Taille : 32,7 Ko

  10. #10
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Si vous avez pris comme exemple celui de la page officiel en démo, en effet je sais également l'afficher mais si vous l'installez sur votre machine dashing.io et que vous réessayer, je pense que vous aurez le même problème

  11. #11
    Membre habitué Avatar de ane-mais
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 37
    Points : 162
    Points
    162
    Par défaut
    Bonjour,

    Peut-être en accédant directement à l'iframe ?
    Il se pourrait qu'il faille auparavant aller à la page originale, conserver les cookies, voir s'il y a une session, etc.

    Après ce n'est plus du php mais du javascript avec des navigateurs fantômes...

    Ca ressemble beaucoup à du cross-site scripting (XSS) qui est une faille de sécurité.

  12. #12
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2022
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    C'est bon j'ai réussi merci à tous pour votre aide c'était effectivement un problème avec X-Frame-Option et il suffisait juste de modifier le fichier config.ru dans dashing.io et ajouter set :protection, :except => :frame_options avant run Sinatra::Application

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

Discussions similaires

  1. Afficher une page web dans une autre page sans frame
    Par bahs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2006, 17h51
  2. [html] afficher une page web pendant x temps
    Par goma771 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 11/01/2006, 15h50
  3. afficher une page web sans la barre d'adresse
    Par bif5 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/11/2005, 18h21
  4. [MFC] afficher une page web accessible par login
    Par hiko-seijuro dans le forum MFC
    Réponses: 6
    Dernier message: 31/08/2005, 18h32
  5. [DEBUTANT] affiche une page web en plein écran
    Par mamouna dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/06/2005, 11h43

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