Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  .htaccess : empêcher l'exécution sauvage d'un script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

.htaccess : empêcher l'exécution sauvage d'un script

n°1854097
suizokukan
Posté le 23-02-2009 à 11:47:58  profilanswer
 

Bonjour,
tout d'abord, désolé pour le côté newbee de ma question, mais je rame complètement.
 
Que dois-je mettre dans mon fichier .htaccess pour que :
#1/ une page HTML puisse appeler une page PHP que j'appelerai ici p.php;
#2/ un utilisateur entrant "www.monadresse.fr/p.php" dans la barre du navigateur se prenne une erreur ?
 
J'ai bien sûr essayé OPTIONS -ExecCGI mais mon exigence décrite en #1 ne fonctionne plus.
 
Voyez-vous comment m'aider ? Merci d'avance !


---------------
rule #1 : trust the python
mood
Publicité
Posté le 23-02-2009 à 11:47:58  profilanswer
 

n°1854106
superbob56
Posté le 23-02-2009 à 12:15:20  profilanswer
 

Bon ... je pense qu'il faudrait que tu éclaircisse un peu ton problème pour dire exactement ce que tu veux parce que

suizokukan a écrit :

#1/ une page HTML puisse appeler une page PHP que j'appelerai ici p.php;

peut vouloir dire tout et n'importe quoi à la fois, les pages HTML 'n'appellent' pas de pages PHP à proprement parler.
Est-ce que tu veux faire de l'ajax ? de la redirection d'url ? Sois plus précis parce que là ...
 


---------------
By bob.
n°1854107
suizokukan
Posté le 23-02-2009 à 12:20:34  profilanswer
 

Merci de m'avoir répondu : je précise, car en effet, ce n'est pas clair.
 
J'ai une page HTML qui contient un formulaire (... method="post" action="php/p.php" ). J'aimerais que cette page HTML puisse accéder à p.php mais qu'un utilisateur qui entrerait l'adresse www.monsite.fr/php/p.php ne puisse en exécuter le script.
 
Est-ce possible ? Merci d'avance !


---------------
rule #1 : trust the python
n°1854144
superbob56
Posté le 23-02-2009 à 14:18:46  profilanswer
 

Oh ben, tu peux ...
Après il existe une multitude de techniques ...
Par exemple si tu soumets ton formulaire en 'POST' (comme dans ton exemple), tu peux en php récupérer la méthode d'envoi, et si c'est pas POST, tu renvoi un header 403 'accès refusé' (header("HTTP/1.0 403 Forbidden" )) et voilà le tour est joué.
Sinon, tu peux aussi passer par $_SERVER['HTTP_REFERER'] pour vérifier que l'utilisateur vient bien de ta page html.
Regarde du coté des variables transmises par le serveur ('http_referer', 'request_uri', 'query_string', ...).
A toi de chercher maintenant ce qui correspond le mieux à ce que tu veux ...
 


---------------
By bob.
n°1854168
suizokukan
Posté le 23-02-2009 à 14:47:08  profilanswer
 

> superbob56 : un grand merci pour ces explications; je pensais devoir passer par .htaccess mais tu me donnes des idées très intéressantes.
 
Merci encore !


---------------
rule #1 : trust the python
n°1854191
FlorentG
Posté le 23-02-2009 à 15:17:01  profilanswer
 

Le problème du referer est qu'il peut être vide. Ce n'est pas quelque chose de fiable [:sadnoir]
 
Pour vraiment se protéger (on appelle ça dans certains cas un CSRF, Cross-site request forgery), il vaut mieux utiliser un système de token, avec l'algo suivant :
 
Affichage du formulaire

  • Génération d'un token unique (genre un nombre aléatoire, ou son md5, etc. N'importe quelle méthode pour générer un truc qu'on ne peut pas deviner)
  • Insertion du token quelque part, genre en base de données
  • Affichage du token dans un input hidden du formulaire


Réception des données

  • Vérification que le token existe en base
  • Traitement des données
  • Suppression du token de la base pour qu'il ne soit plus réutilisable


 
Ainsi on est obligé de demander la page formulaire pour pouvoir l'envoyer :)

n°1854319
Profil sup​primé
Posté le 23-02-2009 à 19:11:11  answer
 

on peut insérer le token en session sinon

n°1854413
grosbin
OR die;
Posté le 23-02-2009 à 23:15:38  profilanswer
 

+1 pour le token en session, voyez vous des bots de spam les adopter ?


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1854550
superbob56
Posté le 24-02-2009 à 11:59:58  profilanswer
 

@FlorentG : J'avoue que le token c'est plus clean comme approche (sur le coup j'y avais pas pensé), d'ailleurs suizokukan, je te conseille vivement cette approche plutôt que celles que j'ai proposées qui, effectivement, sont moins fiables.
 


---------------
By bob.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  .htaccess : empêcher l'exécution sauvage d'un script

 

Sujets relatifs
ping en boucle dans script shellScript avec Telnet
Recherche script decoupe image a partir d'une interfaceaide pour coder un petit script
Script pour Rotation Bannière Adsense[VBS] Script permettant de tester une connexion réseau
Script DOS SMTPEmpecher d'agrandir une fenetre java.
Empecher lecture base de donnée (cryptage?)[htaccess] Anti SPAM qui marche pas ...
Plus de sujets relatifs à : .htaccess : empêcher l'exécution sauvage d'un script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR