mod_rewrite + authz_core + htaccess
Bonjour,
J'ai bien des soucis à réaliser une chose qui pourtant ne devrait pas etre très complexe.
Je cherche à sécuriser mon site de la manière suivante :
Je désire :
* bloquer l'acces à tous les fichiers du site en indiquant dans le htaccess de la racine : require all denied
* puis utiliser la réécriture d'url qui me renverra sur un autre répertoire. Dans ce répertoire mon idée est de mettre un require qui ne permette l'accès qu'à certains fichiers du répertoire : index.php par exemple
Est-ce que vous pensez que c'est possible. Si oui, comment ? Et sinon, auriez vous une méthode similaire qui permette de bloquer tout à la racine mais de débloquer au cas par cas dans les sous répertoires APRES la réécriture ?
Je vous remercie d'avance,
Yves
interactions autorisation + réécriture
Merci de votre réponse.
Sauf erreur, celle ci ne concerne que le htaccess et non son interaction avec la réécriture d'URL.
De mon coté, les symptomes sont que si je bloque l'acces à la racine, le système ne prend en compte la réécriture d'URL qu'après cette étape d'autorisation et donc le système ne prend pas en compte d'éventuels autres fichiers htaccess puisqu'il interdit avant la continuation du processus d'accès.
Si je ne me trompe pas, en fonction de la version d'apache, les traitements des phases d'autorisation et de réécriture ne sont pas exécutées dans le meme ordre. La version la plus récente interdit de modifier l'ordre des phases : il semblerait qu'au niveau du htaccess c'est d'abord l'autorisation puis la réécriture d'URL
Cependant une premiere phase de réécriture d'url doit etre possible en modifiant la config du serveur ce que je ne souhaite pas car je n'ai pas forcément accès à ces fichiers de configuration (serveur mutualisé). Puis vient ensuite l'autorisation (toujours niveau config du serveur). Une deuxieme passe d'autorisation et de réécriture d'url intervient ensuite lors du traitement du htaccess.
De ce fait, configurer ceci au niveau du htaccess ne semble pas possible puisque dans ce cas, l'autorisation est effectuée avant la réécriture d'URL.
Pour le moment, une solution imparfaite est de bloquer l'accès à toutes les ressources à partir des sous repertoires de la racine. A la racine il n'y a donc que la réécriture d'url (et eventuellement un blocage des acces des fichiers de la racine)
Si quelqu'un pense que c'est possible néanmoins je suis preneur.
Merci,
Yves