Interdire l'accès à un fichier php mais pas l'execution de celuici

Discussion dans 'URL Rewriting et .htaccess' créé par chuck2008, 24 Juillet 2010.

  1. chuck2008
    chuck2008 Nouveau WRInaute
    Inscrit:
    21 Juillet 2008
    Messages:
    45
    J'aime reçus:
    0
    Bonjour,

    Mon formulaire de contact fait appel à un fichier .php lorsqu'on clique sur le bouton envoyer de mon formulaire:
    envoi-mail.php

    Celui-ci est placé dans le dossier:/media/script/envoi-mail.php

    Il me permet la génération d'un mail en texte enrichi et formaté.

    Depuis le lancement du site, j'ai 3 à 4 mails envoyés par semaine qui sont vierges. Je pense que cela vient du fait que dans le code source de mon formulaire, on distingue clairement quel script est appelé et à quel endroit.

    http://www.quai-west-nautique.com/contactez-nous.html

    J'ai essayé de placer un fichier .htaccess dans le dossier script
    <files envoi-mail.php>
    order allow,deny
    deny from all
    </files>

    Mais celui-ci me génère une erreur 500. Je suis sur un serveur mutualisé. (strato-hebergement)

    Je souhaiterai qu'on ne puisse pas accéder directement à l'URL suivante:
    http://www.ndd.com//media/script/envoi-mail.php

    Mais qu'il continue à fonctionner lorsque qu'il est appelé par le bouton Envoyer.

    En vous remerciant d'avance.

    Cordialement
     
  2. Acerouk
    Acerouk WRInaute occasionnel
    Inscrit:
    16 Février 2008
    Messages:
    446
    J'aime reçus:
    0
    Pas sur que tu puisse faire ce que tu demandes...

    Par contre je vois que le formulaire est vérifié uniquement en javascript, un robot ou un visiteur ayant désactivé le JS peut t'envoyer un formulaire vide en cliquant sur le bouton.

    Je te conseille de doubler les vérifs JS par les mêmes dans ton fichier php et ne pas envoyer le mail si nok.
     
  3. bruno212
    bruno212 WRInaute occasionnel
    Inscrit:
    13 Février 2005
    Messages:
    451
    J'aime reçus:
    0
    Bonjour,

    Il te suffit de programmer ton script de mail de telle sorte que les messages vides ne soient pas envoyés.

    Il faut vérifier, par exemple, que les champs expéditeur, titre du message, corps du message soient bien remplis, sinon le message ne part pas.

    Ainsi, tu n'auras plus de mail vide.

    Bonne journée.
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 162
    J'aime reçus:
    337
  5. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Les sessions sont tes amis...
    Dans la page de ton formulaire tu créés la variable de session "formOK"
    Dns la page de validation, tu vérifies qu'elle existe.
    Si oui, tu exécute la routine puis tu détruit la variable, si non, tu expulses du site en détruisant aussi la variable.

    Tu peux améliorer en entrant les ip indésirable dans une table et aller vérifier à chaque fois... Si l'IP tente plus de x fois d'exécuter le fichier, tu la ban via le .htaccess
     
  6. chuck2008
    chuck2008 Nouveau WRInaute
    Inscrit:
    21 Juillet 2008
    Messages:
    45
    J'aime reçus:
    0
    Merci pour vos conseils avisés.

    Je vais essayer la dernière proposition avec la variable de session.

    Merci à tous

    A.B
     
  7. chuck2008
    chuck2008 Nouveau WRInaute
    Inscrit:
    21 Juillet 2008
    Messages:
    45
    J'aime reçus:
    0
    Je viens d'ajouter une vérification php sur mon formulaire.

    Maintenant il faut que je vois si je ne vais plus recevoir de formulaire vide....

    Merci
     
  8. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 024
    J'aime reçus:
    1
    il y a beaucoup plus simple et d'ailleurs tu n'aurais pas deux script pour envoyer un mail si tu l'avais su avant.

    il y a plusieurs façons d'attaquer un script via un navigateur :
    - en GET (cas classique) c'est vraisemblablement celui qui te dérange vue que l'url de ton script d'envoie est 'libre'.
    - en POST (suite a la validation d'un formulaire method="post") et c'est ça qui est le truc le plus simple et le moins tordu.
    - en .... d'autres trucs sans intérêt.

    Code:
    if(isset($_POST['un_champ_du_formulaire_mail'])){
       ton script de formatage envoie(...)
    }else{
       exit();
    }
     
  9. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Zeb, c'est plus simple mais pas sécurisé.
    Un $_POST peut-être forcé à la différence d'un $_SESSION. ;-)


    ... etil peut même utiliser session_regenerate_id() au cas ou ila paeur qu'on lui hack ses session_id
     
  10. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 024
    J'aime reçus:
    1
    reco pour toi c'est vrai que c'est moins 'sécu' mais bon de toi a moi si il filtre les entêtes avant d'envoyer le mail pour éviter les spams massif ça risque quoi de se faire taquiner le formulaire ? j'en connais pas beaucoup qui vont s'éxiter dessus plus de 30 seconde quand ils auront compris que le mail part pas.
     
Chargement...
Similar Threads - Interdire accès fichier Forum Date
Interdire l'acces au fichier Robots Débuter en référencement 13 Février 2012
Interdire l'accès a certains dossiers, fichiers avec un .htaccess et. URL Rewriting et .htaccess 16 Octobre 2010
Htaccess interdire acces fichiers Débuter en référencement 28 Juin 2009
[Résolu] Interdire l’accès à un fichier URL Rewriting et .htaccess 25 Août 2007
Interdire l'accès à plusieurs fichiers avec un .htaccess URL Rewriting et .htaccess 30 Août 2006
Site d'essai : quelle méthode pour interdire l'accès ? Développement d'un site Web ou d'une appli mobile 19 Octobre 2020
Interdire l'accès au un site aux concurrents Droit du web (juridique, fiscalité...) 30 Janvier 2017
interdire l'accés de certains pays avec le ht.access URL Rewriting et .htaccess 15 Mai 2016
Interdire accès sauf pour . Googlebot URL Rewriting et .htaccess 22 Janvier 2014
Comment interdire TOUS les moteurs de recherche en utilisant le htaccess? URL Rewriting et .htaccess 7 Mai 2013
interdire l'accès à une page php Le café de WebRankInfo 7 Octobre 2011
Interdire l'accès de GoogleBot à une page Crawl et indexation Google, sitemaps 23 Juillet 2011
Interdire l'accès direct a un dossier via un navigateur ? Administration d'un site Web 16 Février 2011
Interdire l'acces à des Urls commençant par... Débuter en référencement 9 Janvier 2011
HTACCESS : Interdire les bots dont l'URL contient une chaîne spécifiée URL Rewriting et .htaccess 13 Décembre 2010
Interdire l'accès temporairement à mon site au moteurs de recherche Référencement Google 11 Juin 2010
Interdire l'accès à un dossier en préservant le référencement Débuter en référencement 5 Avril 2010
comment interdire les tentatives de piratage et les spam avec .htacces URL Rewriting et .htaccess 14 Décembre 2009
Htaccess : Interdire tout accès via l'interface URL Rewriting et .htaccess 6 Décembre 2009
HTACCESS interdire accés user/ip et autoriser pour tous URL Rewriting et .htaccess 9 Juillet 2008