IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL rewriting] Interdire tous les .php en accès direct


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [URL rewriting] Interdire tous les .php en accès direct
    Bonjour à tous, je viens de m'inscrire car j'ai un petit soucis pour être polis je me présente rapidement, Je suis surnommé Napster et je fais du php mvc/poo et je débute ds l'url rewriting.

    Mon problème est:
    Je veux interdir tout les.php sauf que ensuite mon site se load plus, vus qu'à la base tout part de mon index.php.

    Comment faire une exeption pour mon index.php?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Options +FollowSymlinks
    RewriteEngine on
     
    ## rewrite rule
     
    RewriteRule ^page/(.*).html$ index.php?module=page&name=$1
     
     
     
    ## end : interdire l'accès au script php directment
     
    RewriteCond %{QUERY_STRING} !internal=1
    RewriteRule .php  / [R=404,L,NS]
    Merci d'avance à vous.
    Napster.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    L'utilisation de internal=1 est une bonne idée mais il faut peut-être définir ce paramètre d'URL à un moment donné (par exemple dans la première règle) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Options +FollowSymlinks
    RewriteEngine on
     
    ## rewrite rule
     
    RewriteRule ^page/(.*).html$ index.php?module=page&name=$1&internal=1
     
     
     
    ## end : interdire l'accès au script php directment
     
    RewriteCond %{QUERY_STRING} !internal=1
    RewriteRule .php  / [R=404,L,NS]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ah, quelle andouille ! :p
    Merci MAC.

    Dis moi, maintenant j'ai mis ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^home$ index.php
    Sauf que comme tout les .php sont interdit, comment puis je faire juste pour l'index.php ? bien sur tout en laissant l'interdiction des appelles directe de index.php?module=page&name=$name

    Merci d'avance,
    Napster.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Même réponse :
    Citation Envoyé par _Mac_
    l'utilisation de internal=1 est une bonne idée [mais] il faut peut-être définir ce paramètre d'URL à un moment donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^home$ index.php?internal=1

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ah oui exacte.
    Merci à toi de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/02/2012, 16h48
  2. Réponses: 1
    Dernier message: 08/04/2010, 22h08
  3. [URL rewriting] Interdire l'accès aux .php
    Par cadbury dans le forum Apache
    Réponses: 4
    Dernier message: 23/10/2009, 22h04
  4. [URL Rewriting] erreur RewriteRule html->php
    Par atchoumen dans le forum Apache
    Réponses: 2
    Dernier message: 09/06/2008, 21h05
  5. Réponses: 3
    Dernier message: 31/07/2007, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo