Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Est-il possible d'empecher une inclusion de page par include ?

11 réponses
Avatar
Andre
Bonjour,
Ma question, comme dans l'objet;
Est-il possible d'empecher qu'une ou plusieurs de ses pages soient captées
de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)
Parce que en ce moment j'ai ce problème. ( Déjà évoqué il y a quelques
jours )
Si quelqu'un à un bout de code, merci d'avance.
Andre

10 réponses

1 2
Avatar
Marc

Est-il possible d'empecher qu'une ou plusieurs de ses pages soient captées
de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)
Si quelqu'un à un bout de code, merci d'avance.



cela ce fait avec du javascript.

Avatar
nospam
Andre wrote:

Bonjour,
Ma question, comme dans l'objet;
Est-il possible d'empecher qu'une ou plusieurs de ses pages soient captées
de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)
Parce que en ce moment j'ai ce problème. ( Déjà évoqué il y a quelques
jours )


Si j'ai bien compris, tu veux empecher qu'un fichier .php (un include)
soit utilisé ailleurs qu'inclus par l'un de tes scripts sur le serveur.

Ce morceau de code pourrait éventuellement faire l'affaire, au tout
début de l'include:

<?
if ( count(debug_backtrace()) == 0 ) ) {
die("Direct call to include");
// Ou une redirection vers la homepage, par exemple:
header("Location: /");
die();
}
?>

La meilleure protection reste quand même de mettre tous ces fichiers à
inclure dans un répertoire spécifique, protégé par un .htaccess avec un
"deny from all" comme seule directive.

Et si le fichier à inclure est envoyé par le client (en GET par exemple)
il est alors beaucoup plus sur de prévoir, dans le code, tous les
fichiers pouvant être inclus et faire une vérification pour savoir si ce
fichier fait bien parti de cette liste.

--
Romuald Brunet, ICQ 33033393, http://mog.online.fr

Remplacez nospam par mon prénom pour me contacter par email

Avatar
Andre
Bonjour,
Merci pour votre réponse.
Si j'ai bien compris, tu veux empecher qu'un fichier .php (un include)
soit utilisé ailleurs qu'inclus par l'un de tes scripts sur le serveur.
Mon probleme c'est plutot un site tiers (a l'etranger ) qui doit utiliser

un include pour afficher mas page d'acceuil sous une de leur baniere
publicitaire

La meilleure protection reste quand même de mettre tous ces fichiers à
inclure dans un répertoire spécifique, protégé par un .htaccess avec un
"deny from all" comme seule directive.
Mais , sous cet angle, j'ai essaye d'utiler le .htaccees pour interdire a

partir d'un referer
" RewriteCond %{HTTP_REFERER} http://www.xxx.com [NC]
RewriteRule .* - [F] "
ou alors par fichier
" <Files *.jpg>
Order Deny, Allow
Deny from http//www.xxx.com
</Files> "
Mais cela ne fonctionne pas.

Pour répondre à Marc que je remercie aussi, j'ai effectivement depuis deux
un code en javascript sensé empecher le framing.
" <script language=JavaScript>
if (top.location.href!=self.location.href)
{top.location.href=self.location.href}
</script> "
Maheureusement, il est inopérant dans ce cas.


Merci encore, la derniere extremite est bien sur de fermer mon site pour
eviter le parasitisme.
Mais si je peux eviter...
Andre

Avatar
Marc

Si j'ai bien compris, tu veux empecher qu'un fichier .php (un include)
soit utilisé ailleurs qu'inclus par l'un de tes scripts sur le serveur.

Ce morceau de code pourrait éventuellement faire l'affaire, au tout
début de l'include:

<?
if ( count(debug_backtrace()) == 0 ) ) {
die("Direct call to include");
// Ou une redirection vers la homepage, par exemple:
header("Location: /");
die();
}
?>




rien a voir avec la question, il s'agissait ici de se prémunir
d'inclusion de page (et pas de script) par un site externe.

il faut voir avec javascript et peut-etre le referer ou tout autre
information probablement disponible dans phpinfo() ... faut chercher un peu.

Avatar
Etienne SOBOLE
Est-il possible d'empecher qu'une ou plusieurs de ses pages soient captées
de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)


salut.
heu moi j'ai pas comrpis le probleme, par contre ca m'interesse vachement de
comprendre de quoi tu parles...

merci
Etienne

Avatar
Andre
Est-il possible d'empecher qu'une ou plusieurs de ses pages soient
captées


de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)


salut.
heu moi j'ai pas comrpis le probleme, par contre ca m'interesse vachement
de

comprendre de quoi tu parles...
Bon jour - an

Je te recopie en-dessous comme je l'avais expliqué dans un premier post.
Maintenant, avec le recul, je crois qu'ils se servent de la fonction
include.

[...
J'ai un site depuis quelque temps.
Il y a deux ans, suite à un premier problème, j'avais mis un code pour que
le site ne puisse plus être ouvert en framing ou pseudo fgaming.
Jusqu'à maintenant cela a bien fonctionné.
Mais mon site se retrouve dans le catalogue d'une première boite canadienne
de
"paie au surf", (puis d'une deuxième).
Au-dessus de ma page, quand elle est ouverte par l'intermédiare de leur
site, il y a leur pub bien sur.
C'est la que je ne suis plus d'accord.
Premierement de vanter les merites de produits discutables et non en accord
avec mes contenus.
Deuxiemement de permettre que des gens touchent de la pub alors que nous, en
tant que webmaster, nous avons été exclus de la pub payée au mille.

Voila, c'était un peu long, mais je voulais expliquer.

Ma question :
Y a-t-il un moyen d'empecher que mon site soit affiché dans une frame ou
pseudo-frame en php.
Ce, sachant que mon site est bati tout en php et que le parasite commerciale
egalement.
...]

merci
merci à toi

Etienne


Andre


Avatar
dwojylac.nospam
Andre wrote:

Bonjour,
Ma question, comme dans l'objet;
Est-il possible d'empecher qu'une ou plusieurs de ses pages soient captées
de l'extérieur, à l'aide la fonction include 'qui fonctionne dans ce cas
comme une pseudo-frame)
Parce que en ce moment j'ai ce problème. ( Déjà évoqué il y a quelques
jours )


j'ai fait un script que j'ai mis en ligne.
<?php
echo '<p>serveur remote adress : ',$_SERVER['REMOTE_ADDR'],'</p>';

if ($_SERVER['REMOTE_ADDR'] != '82.253.141.200') {
exit('No');
}

while (list($var,$val) = each($_SERVER)){
echo $var,' = ',$val,'<br>';
}
?>

il est à l'adresse
http://www.annonay.org/test.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.annonay.org/test.php

J'ai ensuite essayé de l'inclure depuis mes pages perso chez free
http://wojylac.free.fr/test_inc.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://wojylac.free.fr/test_inc.php
avec le script
<?php
include 'http://www.annonay.org/test.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.annonay.org/test.php';
?>

essaye à ton tour de l'inclure dans ton site.

Si quelqu'un à un bout de code, merci d'avance.
Andre
C'est peut-être une solution à ton pb.


--
Dominique Wojylac

http://wojylac.free.fr

Avatar
Andre
Bon jour - an
Merci pour ton code que je vais tester.

j'ai fait un script que j'ai mis en ligne.
<?php
echo '<p>serveur remote adress : ',$_SERVER['REMOTE_ADDR'],'</p>';

if ($_SERVER['REMOTE_ADDR'] != '82.253.141.200') {
exit('No');
}

while (list($var,$val) = each($_SERVER)){
echo $var,' = ',$val,'<br>';
}
?>

il est à l'adresse
http://www.annonay.org/test.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.annonay.org/test.php

J'ai ensuite essayé de l'inclure depuis mes pages perso chez free
http://wojylac.free.fr/test_inc.php
avec le script
<?php
include 'http://www.annonay.org/test.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.annonay.org/test.php';
?>

C'est peut-être une solution à ton pb.

Bye

Andre

Avatar
Jean Francois Ortolo
Bonjour
La solution Javascript ne fonctionne que si le hacker n'a pas
bidouillé pour contourner cette défense du Javascript.

En effet, qu'est-ce qu'il l'empêche de parser le contenu de la page
html chargée, puis de lancer les scripts idoines qui y figurent, and so on ?

Pas de problème, la solution de filtrage par adresse ip me paraît la
seule viable.

Jean Francois Ortolo

--
Visitez mon site entièrement gratuit
donnant des Statistiques et des Historiques Graphiques
sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Avatar
Marc

Bonjour
La solution Javascript ne fonctionne que si le hacker n'a pas
bidouillé pour contourner cette défense du Javascript.


bonne analyse, mais qui parle de "hackeur", il s'agit d'un site
englobé dans un autre par un Webmaster peu scrupuleux.

1 2