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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Interdire l'ouverture d'un fichier image.php directement

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

par yann18 » 10 juil. 2013, 21:58

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

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

par Ehplod » 10 juil. 2013, 21:25

Merci pour vos avis.

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

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

par moogli » 10 juil. 2013, 21:02

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

par Zahnzao » 10 juil. 2013, 20:44

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 ?

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

par Ehplod » 10 juil. 2013, 17:43

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.