Insertion d'une page externe à mon site [Résolu]

Messages postés
26
Date d'inscription
vendredi 21 mai 2010
Dernière intervention
1 novembre 2010
- - Dernière réponse : cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
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.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Dernière intervention
5 juin 2013
13
3
Merci
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).

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TychoBrahe
Messages postés
354
Date d'inscription
dimanche 3 juin 2001
Dernière intervention
11 mars 2013
0
Merci
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
Commenter la réponse de JulSoft
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
22
0
Merci
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 -
Commenter la réponse de kohntark
Messages postés
26
Date d'inscription
vendredi 21 mai 2010
Dernière intervention
1 novembre 2010
0
Merci
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.
Commenter la réponse de smoana
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
12
0
Merci
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
Commenter la réponse de cod57
Messages postés
26
Date d'inscription
vendredi 21 mai 2010
Dernière intervention
1 novembre 2010
0
Merci
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.
Commenter la réponse de smoana
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
12
0
Merci
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].
Commenter la réponse de cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
12
0
Merci
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
Commenter la réponse de cod57

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.