Aide a propos de if($_SERVER['HTTP_REFERER']

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Aide a propos de if($_SERVER['HTTP_REFERER']

Message le Dim Aoû 05, 2007 9:57

Bonjour tout le monde
j'ai du mal a utilisé en php la commande if($_SERVER['HTTP_REFERER']
je veu appliquer ca a une page a moi dont le code et en php+html

je veu utilisé (je veu aussi savoir si une exact comme syntaxe)

if($_SERVER['HTTP_REFERER'] != "http://www.mon_site.fr")
{
echo 'Accés interdit !';
}
else {

Ma page php

}


Ma page php est du genre :
Code: Tout sélectionner
<?php
$myWhere = 'test';
$myValue = $_GET['test'];
require "config.php";
$test = urldecode($_GET['test']);
$query = "SELECT cover FROM DB WHERE test = '{$test}';";
$result = mysql_query($query);
$row1 = mysql_fetch_assoc($result);
?>
<html>
<head>
<title>Mon site</title>
<META NAME="DESCRIPTION" CONTENT="">
</head>
<body>
<div>
<div style="z-index: 1;">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0" width="100%" height="100%" align="center">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="http://www.mon_site.fr/ok.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="test.swf" />
</object>
</div>

<?php
echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
$crawltsite=1;
include("/home/monsite/robots/crawltrack.php");
echo"<p><a href=\"http://www.crawltrack.fr\">
<img src=\"http://www.mon_site.fr/robots/images/nologo.png\" alt=\"CrawlTrack: free crawlers and spiders tracking script for webmaster- SEO script -script gratuit de détection des robots pour webmaster\" width=\"1\" height=\"1\" style=\"border:0\"/>
</a></p>\n";
echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
?>

</body>
</html>


quelq'un peut m'iadé a appliqué ca a ma page?

Merci d'avance


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Dim Aoû 05, 2007 11:52

Code: Tout sélectionner
<?php

if($_SERVER['HTTP_REFERER'] != "http://www.mon_site.fr")
{
echo 'Accés interdit !';
}
else {

$myWhere = 'test';
$myValue = $_GET['test'];
require "config.php";


$test = urldecode($_GET['test']);
$query = "SELECT cover FROM DB WHERE test = '{$test}';";
$result = mysql_query($query);
$row1 = mysql_fetch_assoc($result);
?>
<html>
<head>
<title>Mon site</title>
<META NAME="DESCRIPTION" CONTENT="">
</head>
<body>
<div>
<div style="z-index: 1;">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0" width="100%" height="100%" align="center">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="http://www.mon_site.fr/ok.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="test.swf" />
</object>
</div>

<?php
echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
$crawltsite=1;
include("/home/monsite/robots/crawltrack.php");
echo"<p><a href=\"http://www.crawltrack.fr\">
<img src=\"http://www.mon_site.fr/robots/images/nologo.png\" alt=\"CrawlTrack: free crawlers and spiders tracking script for webmaster- SEO script -script gratuit de détection des robots pour webmaster\" width=\"1\" height=\"1\" style=\"border:0\"/>
</a></p>\n";
echo"<!--~~~CrawlTrack~~~~~~~~~~~~~~~~~~~~-->\n";
?>

</body>
</html>

<? } ?>


Enjoy PHP :wink:


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Dim Aoû 05, 2007 16:33

Merci KOogar
ca a l'air de marcher ! enfin j'ai tout le temps "Accés interdit"
ce qui veu dire que le refferant n'es pas pris en concideration
ce que je veu c'est permettre d'acédé a cette page depuis toutes les pages de mon sites , mais pas d'un site exterieure
y'a t il pas une solution pour cela problem
j'ai deja essayé avec le .htaccess mais ca marche pas quand la page est apelé dans un popup (IE) :(

Merci de me repondre


Jeviensderio
WRInaute passionné
WRInaute passionné
 
Messages: 1340
Inscription: 29 Sep 2006

Message le Dim Aoû 05, 2007 19:37

Voir déja si le serveur reconnait la variable.
Quelque chose comme:

echo $_SERVER[HTTP_REFERER];

qui doit afficher le site.
Si oui, cela doit forcément marcher.


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Dim Aoû 05, 2007 21:10

Re
oui j'ai deja essayer et ca m'affiche bien le refferer
ca marche aussi avec le code que j'ai utulisé quand je met une page exact comme refferer , mais ca marche pas quand je met mon nom de domaine et quand j'essaye a accedé a ma page depuis una page domaine.com/page1.php par exemple

c_mous
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 16 Mai 2005

Je suis pas un pro mais...

Message le Lun Aoû 06, 2007 0:07

Je suis pas un pro mais peut-être qu'un :
Code: Tout sélectionner
if (eregi('http://www.mon_site.fr', $_SERVER["HTTP_REFERER")) {
echo 'Accés interdit !';
}
else {...}


pourrait être plus adapté
en tout cas ça ne coûte rien d'essayer.


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Re: Je suis pas un pro mais...

Message le Lun Aoû 06, 2007 12:32

c_mous a écrit:Je suis pas un pro mais peut-être qu'un :
Code: Tout sélectionner
if (eregi('http://www.mon_site.fr', $_SERVER["HTTP_REFERER")) {
echo 'Accés interdit !';
}
else {...}


pourrait être plus adapté
en tout cas ça ne coûte rien d'essayer.


avec un ! devant eregi ;)...

Mais si je lui envoie un visiteur via un "jump" du style goto.php?url=http://www.mon_site.fr --> la condition est respectée :roll:


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Re: Je suis pas un pro mais...

Message le Lun Aoû 06, 2007 15:04

c_mous a écrit:Je suis pas un pro mais peut-être qu'un :
Code: Tout sélectionner
if (eregi('http://www.mon_site.fr', $_SERVER["HTTP_REFERER")) {
echo 'Accés interdit !';
}
else {...}


pourrait être plus adapté
en tout cas ça ne coûte rien d'essayer.

Bonjour
Merci pour votre reponse
je vien d'essayé et ca me donne ici "Acces interdit" avec Ie , par contre sa affiche le contenu avec firefox! sachant que qu'on parle d'une page qui s'ouvre dans un popup et je croit que c'est ca qui pose problem (le fait d'ouvrir la fenetre avec du javascript)
quelqu'un a deja eu ce genre de problems ?

c_mous
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 16 Mai 2005

Message le Mar Aoû 07, 2007 0:08

merci pour le "!" . :oops:
Pour contrer le jump, on peut faire un :
Code: Tout sélectionner
if (!eregi($_SERVER["REMOTE_HOST"], $_SERVER["HTTP_REFERER")) {
echo 'Accés interdit !';
}
else {...}


par contre, ie ne reconnaitra le refferant pour un lien pop_up.
Si un target="_blank" ne suffit pas, il faudra alors passer par une protection par base de donnée...


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Mar Aoû 07, 2007 0:41

c_mous a écrit:merci pour le "!" . :oops:
Pour contrer le jump, on peut faire un :
Code: Tout sélectionner
if (!eregi($_SERVER["REMOTE_HOST"], $_SERVER["HTTP_REFERER")) {
echo 'Accés interdit !';
}
else {...}



et ?? ca la ne changera rien. Le host on le connait deja. Ce qui faut c'est le symbole circonflexe ^ pour interdire toute url ayant une ecriture avant le HOST.

Code: Tout sélectionner
if (!eregi('^http://www.mon_site.fr', $_SERVER["HTTP_REFERER"))


devrait faire l'affaire


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Mar Aoû 07, 2007 0:59

KOogar a écrit:
Code: Tout sélectionner
if (!eregi('^http://www.mon_site.fr', $_SERVER["HTTP_REFERER"))


devrait faire l'affaire

Bonsoir
je vien de testé ca marche tres bien sous firefox mais pas avec IE :(
j'ai deja mis avant une protection par .htaccess qui marche aussi avec les popup de firefox mais pas avec ceux de IE

je sais vraiment plus quoi faire


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Mar Aoû 07, 2007 10:04

C'est le serveur qui merdouille, pas le navigateur.


Jeviensderio
WRInaute passionné
WRInaute passionné
 
Messages: 1340
Inscription: 29 Sep 2006

Message le Mar Aoû 07, 2007 12:24

J'ai aussi vu cela mais je n'ai pas essayé ni approfondi:

if (
$_SERVER[”HTTP_REFERER”] !=
‘http://’ . $_SERVER[”HTTP_HOST”] . ‘/’
&&
$_SERVER[”HTTP_REFERER”] !=
‘http://’ . $_SERVER[”HTTP_HOST”] . ‘/index.php’
)
exit("message");


h4ni
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 486
Inscription: 11 Juil 2005

Message le Mar Aoû 07, 2007 12:47

KOogar a écrit:C'est le serveur qui merdouille, pas le navigateur.

je suis avec un serveur dedier !
alors je peut apporté des modificatons a ma config si c'est faisable!


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 469
Inscription: 15 Juin 2007

Message le Mar Aoû 07, 2007 13:28

php.net a écrit:'HTTP_REFERER'
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.


Je ne sais pas pour quelles raisons tu veux bloquer l'accès de cette page depuis une page extérieure mais dans beaucoup de cas tu as le choix de passer par autre chose que .htaccess ou les variables superglobales.

exemples :

non affichage de la page si l'utilisateur n'est pas enregistré et message d'erreur
creation d'une variable session sur les pages d'entrée du site que tu récupères sur les autres pages

Aide a propos de if($_SERVER['HTTP_REFERER']

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités