Page 1 sur 1

Interdire l'ouverture d'un fichier image.php directement

Posté : 10 juil. 2013, 17:43
par Ehplod
Slt,

Je sèche et je pense qu'il n'y a pas de solution, mais au cas ou, je demande.

J'ai une page "toto.php"
Dans cette page, j'ai un href qui appel "include/image.php"
Le fichier image.php ... affiche une image.

Ca permet de masquer le chemin de stockage de l'image.

Mon problème est le suivant.

Comment empêcher qu'un petit malin affiche l'image en mettant dans son navigateur directement l'url de "include/image.php".
En d'autre terme que image.php ne puisse être exécuté uniquement via l'appel par le href de la page toto.php

Vu que ce n'est pas un requête serveur, mais navigateur, le blocage en "deny" via le htaccess ne fonctionne pas.
Si j'utilise les session, ça fonctionne pour le type qui se pointe direct sur le fichier image sans passer par toto.php, mais ça ne fonctionne plus s'il à afficher au préalablement toto.php

Une solution ?

Merci.

Re: Interdire l'ouverture d'un fichier image.php directement

Posté : 10 juil. 2013, 20:44
par Zahnzao
Salut,

Etrange que le deny en htaccess ne fonctionne pas.

Très simplement. Une variable sur ta page toto.php genre $test=1;

Et tester cette variable dans image.php
if(!isset($test)){
     // redirection ou faire autres chose
}
Si un mec arrive direct sur image.php, ta varibale test n'existe pas :)

edit: ok j'avais zapper la methode en href donc la variable ne passera pas... C'est obligatoire de passer par un href ?

Re: Interdire l'ouverture d'un fichier image.php directement

Posté : 10 juil. 2013, 21:02
par moogli
salut,


pour afficher une image pas le choix il faut un accès web.

quoi qu'il arrive tu ne pourra pas faire autrement que de mettre l'url, par contre tu peux surement tester le "referer" voir s'il correspond a ton site.


@+

Re: Interdire l'ouverture d'un fichier image.php directement

Posté : 10 juil. 2013, 21:25
par Ehplod
Merci pour vos avis.

J'ai déjà essayer avec les $_SERVER, rien à faire.

Re: Interdire l'ouverture d'un fichier image.php directement

Posté : 10 juil. 2013, 21:58
par yann18
salut,
il va falloir récupérer l'URI de la page toto.php.Le principe est le suivant: dans la page toto.php, tu testes si l'URI courante correspond à /toto.php alors dans ce cas tu peux inclure image.php. Ex: l'uri de http://mon-domaine.com/toto.php est /toto.php
<?php
$uri =$_SERVER[ 'REQUEST_URI' ];
print_r($uri)
?>

autre possibilité, avant toute inclusion tu peux tester si la constante __FILE__ correspond au chemin absolu + nom du fichier toto.php