Page 1 sur 1

Page visible uniquement si elle vient d un URL specifique

Posté : 29 sept. 2016, 11:31
par Lay
Bonjour vous :)

Je m appel Lay , je debute en PHP et j'aurais besoin de vos conseils.

Voila, j'ai un site internet appelons le Monsite.com et donc j'ai des sections dans ce site, j'ai une section disons que j'appel monsite.com/galleryHD.

Cette page, je voudrais la rendre accessible uniquement à ce qui viennent via un certain lien, depuis mon autre site par exemple monsite2.com, si jamais ils essaient d'acceder au lien directement, ils auraient un message d'erreur , page non disponible....

Merci par avance de votre aide
Lay.

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 29 sept. 2016, 13:10
par Ryle
Bonjour,

La variable $_SERVER['HTTP_REFERER'] contient l'url de la page qui a permit à l'utilisateur d'accéder à ton script lorsque celle-ci existe.
Cette variable ne sera pas renseignée si l'utilisateur se connecte en ouvrant la page depuis un de ces favoris.

Il te suffit donc de tester la valeur contenue et de comparer avec celles des sites qui doivent permettre l'ouverture de ta page. Tu pourras alors masquer le contenu (avec un if/else) ou simplement rediriger les utilisateurs qui n'auraient pas le droit de consulter la page.

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 29 sept. 2016, 14:07
par or 1
perso, je bloque $_SERVER['HTTP_REFERER'] donc cela ne fonctionnera pas pour tous ceux qui font comme moi.
une autre façon de faire et d'appeler la page "secrète" en méthode post et de n'afficher le contenu que si la page est bien appelée en méthode post. ainsi un lien direct ou un ajout dans ces favoris ne fonctionnera pas car ce sera une méthode get.

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 29 sept. 2016, 18:01
par Ryle
C'est un peu complexe comme solution, et potentiellement contournable pour quiconque sait quoi envoyer en post, mais c'est une solution également.

Par contre quel est l'intérêt de bloquer le referer ? à part dire quel site / page t'a mené jusqu'ici et te priver d'un accès au site de Lay ? :)

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 30 sept. 2016, 08:18
par moogli
Par contre quel est l'intérêt de bloquer le referer ? à part dire quel site / page t'a mené jusqu'ici et te priver d'un accès au site de Lay ? :)
Je dirais limiter le suivis et la récolte d'infos que certain site peuvent faire sur toi ?
si c'est des site "partenaire" ils passeront surement par un jeton dans l'url pour être certain donc peux d'incidence.

perso j'ai arrêté de bloquer JS y a pas si longtemps (il m'arrive de le faire encore sur certain site remarque ...):roll: :lol:


@+

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 30 sept. 2016, 08:27
par Lay
merci pour vos reponse les amis!

alors j en susi la , mais sans gros resultat , j' ai toujours le message ,interdit d'entrer qui s affiche quoi qu'il arrive
<!DOCTYPE html>
<html>
<body>

<?php
// Verifier l url
$ref = $_SERVER['HTTP_REFERER'];

if($ref !== 'http://monsite.com') {
  die("message interdit d'entrer");
}

echo "coucou ca fonctionne";
?>

</body>
</html>

Re: Page visible uniquement si elle vient d un URL specifique

Posté : 30 sept. 2016, 08:48
par moogli
ça contient quoi $ref dans ton cas ?
tu penses au choses rigolote comme 'http://monsite.com' et 'http://www.monsite.com' ?

au pire un var_dump($_SERVER) te fourniras pas mal d'info.

@+