Insertion d'une page externe à mon site

Résolu
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010 - 27 oct. 2010 à 09:00
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 1 nov. 2010 à 22:58
Bonjour,

Voila je vous mets une partie de mon code en exemple.

Pouvez vous me dire si cela peut fonctionner.




<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pagesOK array('google'>'www.google.com');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pagesOK[$_GET['page']])) ) {
include($pagesOK[$_GET['page']]);
} else {
include ('http://www.google.com');
}
?>




L'adresse google est juste pour un test.

Merci d'avance.

Coirdialement.

Moana.

8 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
28 oct. 2010 à 01:11
Salut,

Un conseille : enlève immédiatement le include qui est bien trop dangereux et remplace le par un readfile(). Là il suffit n'importe lequel des sites vers lesquels tu pointe soit vérolé pour que ton site puisse être à son tour contaminé (et de manière fort simple).

Sinon une remarque plus triviale : perso je préfère utiliser array_key_exists() plutot que isset() lorsque je veux tester l'existence d'une clé. Ainsi on peu remplacer isset($pagesOK[$_GET['page']]) par array_key_exists($_GET['page'], $pagesOK).
3
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
28 oct. 2010 à 00:14
Salut,

Visiblement c'est possible (j'étais persuadé que non à la base...), mais pas n'importe comment.

Je te mets le lien vers la page de manuel d'include, qui a l'air de pas mal doccumenter la chose:
http://ch2.php.net/manual/fr/function.include.php
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 oct. 2010 à 00:43
Salut,


Pouvez vous me dire si cela peut fonctionner.

Faut il faire le test à ta place ??

Rien de méchant dans ce que je dis là.
Vu la présentation de ton post j'imagine que tu as fait ce test. Il serait alors plus rapide de nous exposer précisément les problèmes que tu rencontres

A parcourir très rapidement ton code ça à l'air correct, encore faut il qu'un fichier 'google' existe et que le gestionnaire d'URL le permette (comme suggéré dans le précédent message)
En mutualisé il y a des (mal)chances que ça ne soit pas permit.

Cordialement,
Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
28 oct. 2010 à 05:57
Salut,

Merci a vous trois pour vos réponse.Bon j'y suis presque arrivé.

J'ai fais les modification comme TychoBrahe me l'a conseillé:

<?php

if ( (isset($_GET['page'])) && (array_key_exists($pagesOK[$_GET['page']])) ) {
readfile($pagesOK[$_GET['page']]);
} else {
readfile ('http://XXXX.dyndns.org:82/video.cgi?user=nomdutilisateur&pwd=motdepasse');
}
?>

Alors si je mets http://www.google.com ca marche très bien, mais l'adresse réelle que je veux mettre est :http://XXXX.dyndns.org:82/video.cgi?user=nomdutilisateur&pwd=motdepasse

j'ai un message d'erreur :
Warning: readfile(http://mediaprinttahiti.dyndns.org:82/video.cgi?user=nomdutilisateur&pwd=motdepasse) [function.readfile]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in C:\wamp\www\dubbleweb\cam_mpt.php on line 19

Alors que si je l'ouvre directement dans un navigateur aucun souci.

Une idée.

Merci d'avance.

Moana.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
30 oct. 2010 à 09:06
POUR TON ERREUR HTTP/1.1 401 Unauthorized in C:\wamp\www\dubbleweb\cam_mpt.php on line 19

Je pense que si tu heberges ton site derrière une box en local avec un accés dyndns et wamp, ton firewall doit empêcher l 'accés ... essaye ton script sur un hebergeur
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
1 nov. 2010 à 21:32
Salut,

Bon cod57, j'ai suivi ton conseil.Je l'ai donc mis chez mon hébergeur.

Donc chez mon hébergeur c'est ceci:

401 Unauthorized et Authorization required.

Alors pour mes tests voici les adresse:http://mediaprinttahiti.dyndns.org:82/
adresse qui fonctionne correctement dans un navigateur.

http://www.dubbleweb.com/cam_mpt.php, adresse qui me donne l'erreur du haut.

Merci d'avance.

Moana.
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
1 nov. 2010 à 22:27
HTTP/1.1 401 Unauthorized c'est le mot de passe et le user

soit c'est les identifiants pas reconnus fort probable
soit le serveur mal paramétré (peu probable)

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

10.4.2 401 Unauthorized
The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity might include relevant diagnostic information. HTTP access authentication is explained in "HTTP Authentication: Basic and Digest Access Authentication" [43].
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
1 nov. 2010 à 22:58
je connais pas les passes mais je vois ton appli sur
http://mediaprinttahiti.dyndns.org:82/video.cgi?user=nomdutilisateur&pwd=motdepasse

la boite pour s authentifier s ouvre et j 'ai une erreur 401 si j essaie plusieurs fois je pense que c'est un problème de login
0
Rejoignez-nous