je code un site web dont l'arborescence est, en gros, organisée par
fonctionnalités
il existe plusieurs types de droits dans l'application, ces droits renvoient
tous aux accès base de données,
c'est à dire qu'un utilisateur à droit minimal est définit pour chacun
d'eux.
Au lieu de déclarer mes droits dans chaque script, je les déclare en racine
du sous répertoire renvoyant à la fonction traitée avec un fichier perm.php
je désire rendre ce fichier inaccessible par une requête http, j'ai trouvé
la solution suivante, mais elle "m'inquiète" et recherche donc un conseil
dans chaque script, je déclare une variable $key = "..." commune aux scripts
de même droits
puis,
laurent sommier nous disait récement dans fr.comp.securite <news:3f58b7e0$0$20175$ :
Au lieu de déclarer mes droits dans chaque script, je les déclare en racine du sous répertoire renvoyant à la fonction traitée avec un fichier perm.php
Jusqu'à là ça peut aller.
je désire rendre ce fichier inaccessible par une requête http,
Pourquoi ? :-/
j'ai trouvé la solution suivante, mais elle "m'inquiète"
Pourquoi ?
dans chaque script, je déclare une variable $key = "..." commune aux scripts de même droits
Oui.
puis,
# perm.php
if ( $key != "..." ) exit ;
$user = "..." ; $pass = "..." ;
qu'en pensez vous ?
Qu'un appel à une fonction serait plus simple.
[Note: je code à tête épuisée, il faudra peut-être adapter en vrai PHP]
perm.php
define( __LEVEL1__, "a" ); define( __LEVEL2__, "b" ); [...] define( __LEVELn__, "x" );
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
laurent sommier nous disait récement dans fr.comp.securite
<news:3f58b7e0$0$20175$626a54ce@news.free.fr> :
Au lieu de déclarer mes droits dans chaque script, je les déclare
en racine du sous répertoire renvoyant à la fonction traitée avec
un fichier perm.php
Jusqu'à là ça peut aller.
je désire rendre ce fichier inaccessible par une requête http,
Pourquoi ? :-/
j'ai trouvé la solution suivante, mais elle "m'inquiète"
Pourquoi ?
dans chaque script, je déclare une variable $key = "..." commune
aux scripts de même droits
Oui.
puis,
# perm.php
if ( $key != "..." ) exit ;
$user = "..." ;
$pass = "..." ;
qu'en pensez vous ?
Qu'un appel à une fonction serait plus simple.
[Note: je code à tête épuisée, il faudra peut-être adapter en vrai PHP]
perm.php
define( __LEVEL1__, "a" );
define( __LEVEL2__, "b" );
[...]
define( __LEVELn__, "x" );
laurent sommier nous disait récement dans fr.comp.securite <news:3f58b7e0$0$20175$ :
Au lieu de déclarer mes droits dans chaque script, je les déclare en racine du sous répertoire renvoyant à la fonction traitée avec un fichier perm.php
Jusqu'à là ça peut aller.
je désire rendre ce fichier inaccessible par une requête http,
Pourquoi ? :-/
j'ai trouvé la solution suivante, mais elle "m'inquiète"
Pourquoi ?
dans chaque script, je déclare une variable $key = "..." commune aux scripts de même droits
Oui.
puis,
# perm.php
if ( $key != "..." ) exit ;
$user = "..." ; $pass = "..." ;
qu'en pensez vous ?
Qu'un appel à une fonction serait plus simple.
[Note: je code à tête épuisée, il faudra peut-être adapter en vrai PHP]
perm.php
define( __LEVEL1__, "a" ); define( __LEVEL2__, "b" ); [...] define( __LEVELn__, "x" );
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow
"laurent sommier" a écrit dans le message news: 3f58b7e0$0$20175$
je désire rendre ce fichier inaccessible par une requête http
Tu veut une solution sure ? Alors change l'extension de ton fichier ( par exemple .perm ). Ensuite, si tu est sous apache ( ce qui a des chances d'être le cas ) tu créé un fichier .htaccess à la racine du site. Dedans tu met ça :
<Files "*.perm" > Deny from all </Files>
Le mieux serait que tu puisse modifier le fichier de configuration, auquel cas tu met les ligne si dessus directement dedans ( enfin au bon endroit quand même =)
Voilà
-- Nicolas Repiquet
"laurent sommier" <laurent.sommier@freesurf________.fr> a écrit dans le
message news: 3f58b7e0$0$20175$626a54ce@news.free.fr...
je désire rendre ce fichier inaccessible par une requête http
Tu veut une solution sure ? Alors change l'extension de ton fichier ( par
exemple .perm ). Ensuite, si tu est sous apache ( ce qui a des chances
d'être le cas ) tu créé un fichier .htaccess à la racine du site. Dedans tu
met ça :
<Files "*.perm" >
Deny from all
</Files>
Le mieux serait que tu puisse modifier le fichier de configuration, auquel
cas tu met les ligne si dessus directement dedans ( enfin au bon endroit
quand même =)
"laurent sommier" a écrit dans le message news: 3f58b7e0$0$20175$
je désire rendre ce fichier inaccessible par une requête http
Tu veut une solution sure ? Alors change l'extension de ton fichier ( par exemple .perm ). Ensuite, si tu est sous apache ( ce qui a des chances d'être le cas ) tu créé un fichier .htaccess à la racine du site. Dedans tu met ça :
<Files "*.perm" > Deny from all </Files>
Le mieux serait que tu puisse modifier le fichier de configuration, auquel cas tu met les ligne si dessus directement dedans ( enfin au bon endroit quand même =)
Voilà
-- Nicolas Repiquet
Stephane Catteau
DeadCow nous disait récement dans fr.comp.securite <news:3f58f91e$0$28906$ :
Tu veut une solution sure ? Alors change l'extension de ton fichier ( par exemple .perm ). Ensuite, si tu est sous apache ( ce qui a des chances d'être le cas ) tu créé un fichier .htaccess à la racine du site. Dedans tu met ça :
<Files "*.perm" > Deny from all </Files>
Et cela apportera quoi en plus au niveau de la sécurité ? Un fichier .php adressé directement est *obligatoirement* interprété par le serveur, personne ne verra jamais son contenu, sauf à l'accéder en passant par le FTP associé au site. Problème qui reste valable dans ta solution. Reste le cas de l'adressage indirecte via la faille traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille est valable pour les fichiers en .php autant que pour ta solution. Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow nous disait récement dans fr.comp.securite
<news:3f58f91e$0$28906$626a54ce@news.free.fr> :
Tu veut une solution sure ? Alors change l'extension de ton
fichier ( par exemple .perm ). Ensuite, si tu est sous apache ( ce
qui a des chances d'être le cas ) tu créé un fichier .htaccess à la
racine du site. Dedans tu met ça :
<Files "*.perm" >
Deny from all
</Files>
Et cela apportera quoi en plus au niveau de la sécurité ? Un fichier
.php adressé directement est *obligatoirement* interprété par le
serveur, personne ne verra jamais son contenu, sauf à l'accéder en
passant par le FTP associé au site. Problème qui reste valable dans ta
solution. Reste le cas de l'adressage indirecte via la faille
traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille
est valable pour les fichiers en .php autant que pour ta solution.
Donc, à par compliquer les choses, et donc augmenter les risques de
failles, cela n'apporte rien de plus.
DeadCow nous disait récement dans fr.comp.securite <news:3f58f91e$0$28906$ :
Tu veut une solution sure ? Alors change l'extension de ton fichier ( par exemple .perm ). Ensuite, si tu est sous apache ( ce qui a des chances d'être le cas ) tu créé un fichier .htaccess à la racine du site. Dedans tu met ça :
<Files "*.perm" > Deny from all </Files>
Et cela apportera quoi en plus au niveau de la sécurité ? Un fichier .php adressé directement est *obligatoirement* interprété par le serveur, personne ne verra jamais son contenu, sauf à l'accéder en passant par le FTP associé au site. Problème qui reste valable dans ta solution. Reste le cas de l'adressage indirecte via la faille traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille est valable pour les fichiers en .php autant que pour ta solution. Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow
"Stephane Catteau" a écrit dans le message news:
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Un fichier .php adressé directement est *obligatoirement* interprété par le serveur, personne ne verra jamais son contenu, sauf à l'accéder en passant par le FTP associé au site. Problème qui reste valable dans ta solution. Reste le cas de l'adressage indirecte via la faille traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille est valable pour les fichiers en .php autant que pour ta solution. Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas executée". En l'occurence, même si la page n'affiche rien, il est conceptuellement plus rigoureux d'interdire sont execution.
-- Nicolas Repiquet
"Stephane Catteau" <stephane@sc4x.net> a écrit dans le message news:
bjcb6u.3vvf1u7.1@sc4x.org...
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Un fichier
.php adressé directement est *obligatoirement* interprété par le
serveur, personne ne verra jamais son contenu, sauf à l'accéder en
passant par le FTP associé au site. Problème qui reste valable dans ta
solution. Reste le cas de l'adressage indirecte via la faille
traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille
est valable pour les fichiers en .php autant que pour ta solution.
Donc, à par compliquer les choses, et donc augmenter les risques de
failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas executée".
En l'occurence, même si la page n'affiche rien, il est conceptuellement plus
rigoureux d'interdire sont execution.
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Un fichier .php adressé directement est *obligatoirement* interprété par le serveur, personne ne verra jamais son contenu, sauf à l'accéder en passant par le FTP associé au site. Problème qui reste valable dans ta solution. Reste le cas de l'adressage indirecte via la faille traditionnelle des scripts PHP tout cuit[1]. Mais là encore la faille est valable pour les fichiers en .php autant que pour ta solution. Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas executée". En l'occurence, même si la page n'affiche rien, il est conceptuellement plus rigoureux d'interdire sont execution.
-- Nicolas Repiquet
Stephane Catteau
DeadCow nous disait récement dans fr.comp.securite <news:3f5a167c$0$28881$ :
"Stephane Catteau" a écrit dans le message
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Fort logiquement, par rapport à la solution qu'il présentait et sur laquelle il voulait des informations...
[...] Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas executée". En l'occurence, même si la page n'affiche rien, il est conceptuellement plus rigoureux d'interdire sont execution.
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe. S'il est obligé de réinstaller son site, ou qu'il en copie le principe pour un autre site, mais oublie le fichier .htaccess ou y fait une erreur de frappe, ou s'il oublie que l'extension du fichier doit être en accord avec celle indiquée dans le fichier .htaccess (pire encore si comme tu le conseillais il faisait la modification directement dans httpd.conf), il se retrouve avec un niveau de sécurité nulle. Tout cela pour n'apporter aucun plus, sécuritairement parlant, par rapport à la version initiale.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow nous disait récement dans fr.comp.securite
<news:3f5a167c$0$28881$626a54ce@news.free.fr> :
"Stephane Catteau" <stephane@sc4x.net> a écrit dans le message
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Fort logiquement, par rapport à la solution qu'il présentait et sur
laquelle il voulait des informations...
[...] Donc, à par compliquer les choses, et donc augmenter les
risques de failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas
executée". En l'occurence, même si la page n'affiche rien, il est
conceptuellement plus rigoureux d'interdire sont execution.
Parler de "rigueur" pour qualifier une méthode qui passe par une étape
qui désécurise complètement le fichier, ça me laisse perplexe. S'il est
obligé de réinstaller son site, ou qu'il en copie le principe pour un
autre site, mais oublie le fichier .htaccess ou y fait une erreur de
frappe, ou s'il oublie que l'extension du fichier doit être en accord
avec celle indiquée dans le fichier .htaccess (pire encore si comme tu
le conseillais il faisait la modification directement dans httpd.conf),
il se retrouve avec un niveau de sécurité nulle.
Tout cela pour n'apporter aucun plus, sécuritairement parlant, par
rapport à la version initiale.
--
"Si ceux qui disent du mal de moi savaient exactement ce que je
pense d'eux , ils en diraient bien davantage."
Sacha Guitry
DeadCow nous disait récement dans fr.comp.securite <news:3f5a167c$0$28881$ :
"Stephane Catteau" a écrit dans le message
Et cela apportera quoi en plus au niveau de la sécurité ?
Par rapport à quoi ?
Fort logiquement, par rapport à la solution qu'il présentait et sur laquelle il voulait des informations...
[...] Donc, à par compliquer les choses, et donc augmenter les risques de failles, cela n'apporte rien de plus.
Ca apporte qu'il y a une différence entre "pas affichée" et "pas executée". En l'occurence, même si la page n'affiche rien, il est conceptuellement plus rigoureux d'interdire sont execution.
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe. S'il est obligé de réinstaller son site, ou qu'il en copie le principe pour un autre site, mais oublie le fichier .htaccess ou y fait une erreur de frappe, ou s'il oublie que l'extension du fichier doit être en accord avec celle indiquée dans le fichier .htaccess (pire encore si comme tu le conseillais il faisait la modification directement dans httpd.conf), il se retrouve avec un niveau de sécurité nulle. Tout cela pour n'apporter aucun plus, sécuritairement parlant, par rapport à la version initiale.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow
"Stephane Catteau" a écrit dans le message news:
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
S'il est obligé de réinstaller son site, ou qu'il en copie le principe pour un autre site, mais oublie le fichier .htaccess ou y fait une erreur de frappe, ou s'il oublie que l'extension du fichier doit être en accord avec celle indiquée dans le fichier .htaccess (pire encore si comme tu le conseillais il faisait la modification directement dans httpd.conf), il se retrouve avec un niveau de sécurité nulle. Tout cela pour n'apporter aucun plus, sécuritairement parlant, par rapport à la version initiale.
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
Moi toute mes librairies php sont des .inc, et j'ai mis dans ma config .inc = interdit. Ca me semble tout à fait indiqué. Maintenant le jour ou j'écrirais .ink à la place ben déja mon "require("xxx.inc")" va foirer donc je m'en apercevrais vite.
Si il en est à faire ce genre d'erreur, il faudra pas qu'il oublis de configurer sont serveur pour executer les .php et pas les afficher directement ... franchement je trouve l'argument un peu tiré par les cheuveux.
Et je répète que le "plus" c'est que le fichier ne sera même pas executé, ce qui me semble être une sécurité.
-- Nicolas Repiquet
"Stephane Catteau" <stephane@sc4x.net> a écrit dans le message news:
bjdo6k.3vvena7.1@sc4x.org...
Parler de "rigueur" pour qualifier une méthode qui passe par une étape
qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
S'il est
obligé de réinstaller son site, ou qu'il en copie le principe pour un
autre site, mais oublie le fichier .htaccess ou y fait une erreur de
frappe, ou s'il oublie que l'extension du fichier doit être en accord
avec celle indiquée dans le fichier .htaccess (pire encore si comme tu
le conseillais il faisait la modification directement dans httpd.conf),
il se retrouve avec un niveau de sécurité nulle.
Tout cela pour n'apporter aucun plus, sécuritairement parlant, par
rapport à la version initiale.
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il
vaut mieux en interdire l'acces, plutot que de garder l'acces possible et
s'arranger pour que ce soit sans conséquences.
Moi toute mes librairies php sont des .inc, et j'ai mis dans ma config .inc
= interdit. Ca me semble tout à fait indiqué. Maintenant le jour ou
j'écrirais .ink à la place ben déja mon "require("xxx.inc")" va foirer donc
je m'en apercevrais vite.
Si il en est à faire ce genre d'erreur, il faudra pas qu'il oublis de
configurer sont serveur pour executer les .php et pas les afficher
directement ... franchement je trouve l'argument un peu tiré par les
cheuveux.
Et je répète que le "plus" c'est que le fichier ne sera même pas executé, ce
qui me semble être une sécurité.
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
S'il est obligé de réinstaller son site, ou qu'il en copie le principe pour un autre site, mais oublie le fichier .htaccess ou y fait une erreur de frappe, ou s'il oublie que l'extension du fichier doit être en accord avec celle indiquée dans le fichier .htaccess (pire encore si comme tu le conseillais il faisait la modification directement dans httpd.conf), il se retrouve avec un niveau de sécurité nulle. Tout cela pour n'apporter aucun plus, sécuritairement parlant, par rapport à la version initiale.
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
Moi toute mes librairies php sont des .inc, et j'ai mis dans ma config .inc = interdit. Ca me semble tout à fait indiqué. Maintenant le jour ou j'écrirais .ink à la place ben déja mon "require("xxx.inc")" va foirer donc je m'en apercevrais vite.
Si il en est à faire ce genre d'erreur, il faudra pas qu'il oublis de configurer sont serveur pour executer les .php et pas les afficher directement ... franchement je trouve l'argument un peu tiré par les cheuveux.
Et je répète que le "plus" c'est que le fichier ne sera même pas executé, ce qui me semble être une sécurité.
-- Nicolas Repiquet
Matthieu
bonsoir,
Au lieu de déclarer mes droits dans chaque script, je les déclare en racine
du sous répertoire renvoyant à la fonction traitée avec un fichier perm.php
je désire rendre ce fichier inaccessible par une requête http, j'ai trouvé la solution suivante, mais elle "m'inquiète" et recherche donc un conseil
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite; globalement il te permettra de tester si le referer est une page de ton site ou pas. dans le cas contraire, tu rediriges vers une autre page. cherches sur google, tu trouveras plein de tutoriaux
mais cela passe encore par le .htaccess...
bonsoir,
Au lieu de déclarer mes droits dans chaque script, je les déclare en
racine
du sous répertoire renvoyant à la fonction traitée avec un fichier
perm.php
je désire rendre ce fichier inaccessible par une requête http, j'ai trouvé
la solution suivante, mais elle "m'inquiète" et recherche donc un conseil
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite;
globalement il te permettra de tester si le referer est une page de ton site
ou pas.
dans le cas contraire, tu rediriges vers une autre page.
cherches sur google, tu trouveras plein de tutoriaux
Au lieu de déclarer mes droits dans chaque script, je les déclare en racine
du sous répertoire renvoyant à la fonction traitée avec un fichier perm.php
je désire rendre ce fichier inaccessible par une requête http, j'ai trouvé la solution suivante, mais elle "m'inquiète" et recherche donc un conseil
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite; globalement il te permettra de tester si le referer est une page de ton site ou pas. dans le cas contraire, tu rediriges vers une autre page. cherches sur google, tu trouveras plein de tutoriaux
mais cela passe encore par le .htaccess...
Cedric Blancher
Dans sa prose, DeadCow nous ecrivait :
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
De toute manière, si on veut un minimum de sécurité pour une page web dynamique, on ne doit trouver sous la racine de publication qui les fichiers accessibles depuis un navigateur. Ce qui veut dire qu'un .inc par exemple ne doit pas se trouver là, mais en dessous.
Ça nous donne des arborescences du genre :
www_home --- htdocs (racine de publication) | `- includes
De fait, comme la racine de publication est htdocs, on ne peut pas accéder via le navigateur en URL directe à un fichier situé sous includes.
Ensuite, on peut se concentrer sur son code pour ne pas faire de directory traversal et autre connerie grossière permettant d'aller chercher dans ces répertoires.
-- BOFH excuse #437:
crop circles in the corn shell
Dans sa prose, DeadCow nous ecrivait :
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier,
il vaut mieux en interdire l'acces, plutot que de garder l'acces possible
et s'arranger pour que ce soit sans conséquences.
De toute manière, si on veut un minimum de sécurité pour une page web
dynamique, on ne doit trouver sous la racine de publication qui les
fichiers accessibles depuis un navigateur. Ce qui veut dire qu'un .inc par
exemple ne doit pas se trouver là, mais en dessous.
Ça nous donne des arborescences du genre :
www_home --- htdocs (racine de publication)
|
`- includes
De fait, comme la racine de publication est htdocs, on ne peut pas
accéder via le navigateur en URL directe à un fichier situé sous
includes.
Ensuite, on peut se concentrer sur son code pour ne pas faire de directory
traversal et autre connerie grossière permettant d'aller chercher dans
ces répertoires.
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
De toute manière, si on veut un minimum de sécurité pour une page web dynamique, on ne doit trouver sous la racine de publication qui les fichiers accessibles depuis un navigateur. Ce qui veut dire qu'un .inc par exemple ne doit pas se trouver là, mais en dessous.
Ça nous donne des arborescences du genre :
www_home --- htdocs (racine de publication) | `- includes
De fait, comme la racine de publication est htdocs, on ne peut pas accéder via le navigateur en URL directe à un fichier situé sous includes.
Ensuite, on peut se concentrer sur son code pour ne pas faire de directory traversal et autre connerie grossière permettant d'aller chercher dans ces répertoires.
-- BOFH excuse #437:
crop circles in the corn shell
Eric Razny
"Matthieu" a écrit dans le message de news:3f5a51db$0$13307$
bonsoir,
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite; globalement il te permettra de tester si le referer est une page de ton site
ou pas.
Raté : le referer est une info externe, qui peut être trafiquée :) Ok pour un truc sans conséquence mais pas pour un vrai contrôle.
Eric.
"Matthieu" <ermelir@ifrance.com> a écrit dans le message de
news:3f5a51db$0$13307$626a54ce@news.free.fr...
bonsoir,
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite;
globalement il te permettra de tester si le referer est une page de ton
site
ou pas.
Raté : le referer est une info externe, qui peut être trafiquée :)
Ok pour un truc sans conséquence mais pas pour un vrai contrôle.
"Matthieu" a écrit dans le message de news:3f5a51db$0$13307$
bonsoir,
si tu heberges un serveur Apache, tu peux utiliser le mod_rewrite; globalement il te permettra de tester si le referer est une page de ton site
ou pas.
Raté : le referer est une info externe, qui peut être trafiquée :) Ok pour un truc sans conséquence mais pas pour un vrai contrôle.
Eric.
Stephane Catteau
DeadCow nous disait récement dans fr.comp.securite <news:3f5a7fdc$0$28882$ :
"Stephane Catteau" a écrit dans le message
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
Oui, puisque *l'une des étapes* consiste à changer l'extension du fichier, le rendant accessible à tous.
[Snip]
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
Oui, et il existe un moyen radical pour cela. Tu places un deny all dans l'un au moins des répertoire de l'include_path, et tu mets le fichier dedans. Pas besoin de changer son extension pour cela.
Et je répète que le "plus" c'est que le fichier ne sera même pas executé, ce qui me semble être une sécurité.
Reprenons depuis le début...
1) http://balbla.tld/fichier.php Le fichier sera interprété par le serveur
2) http://balbla.tld/fichier.ext Le contenu du fichier sera affiché par le serveur
3) http://blabla.tld/index.php?inc=fichier et include( $inc.'.php' ) Le fichier sera interprété par le serveur
4) http://blabla.tld/index.php?inc=fichier et include( $inc.'.ext' ) Le fichier sera interprété par le serveur
Tu m'expliques où est le plus en matière de sécurité ? La seule chose qui permet de sécuriser ton "astuce", c'est l'ajout d'un deny dans le .htaccess. Tout cela pour obtenir à peine plus de sécurité que si l'on avait rien fait.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry
DeadCow nous disait récement dans fr.comp.securite
<news:3f5a7fdc$0$28882$626a54ce@news.free.fr> :
"Stephane Catteau" <stephane@sc4x.net> a écrit dans le message
Parler de "rigueur" pour qualifier une méthode qui passe par une
étape qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
Oui, puisque *l'une des étapes* consiste à changer l'extension du
fichier, le rendant accessible à tous.
[Snip]
Il me semble juste que quand on ne doit pas pouvoir acceder à un
fichier, il vaut mieux en interdire l'acces, plutot que de garder
l'acces possible et s'arranger pour que ce soit sans conséquences.
Oui, et il existe un moyen radical pour cela. Tu places un deny all
dans l'un au moins des répertoire de l'include_path, et tu mets le
fichier dedans. Pas besoin de changer son extension pour cela.
Et je répète que le "plus" c'est que le fichier ne sera même pas
executé, ce qui me semble être une sécurité.
Reprenons depuis le début...
1) http://balbla.tld/fichier.php
Le fichier sera interprété par le serveur
2) http://balbla.tld/fichier.ext
Le contenu du fichier sera affiché par le serveur
3) http://blabla.tld/index.php?inc=fichier et include( $inc.'.php' )
Le fichier sera interprété par le serveur
4) http://blabla.tld/index.php?inc=fichier et include( $inc.'.ext' )
Le fichier sera interprété par le serveur
Tu m'expliques où est le plus en matière de sécurité ? La seule chose
qui permet de sécuriser ton "astuce", c'est l'ajout d'un deny dans le
.htaccess. Tout cela pour obtenir à peine plus de sécurité que si l'on
avait rien fait.
--
"Si ceux qui disent du mal de moi savaient exactement ce que je
pense d'eux , ils en diraient bien davantage."
Sacha Guitry
DeadCow nous disait récement dans fr.comp.securite <news:3f5a7fdc$0$28882$ :
"Stephane Catteau" a écrit dans le message
Parler de "rigueur" pour qualifier une méthode qui passe par une étape qui désécurise complètement le fichier, ça me laisse perplexe.
déssécurisé complètement ?
Oui, puisque *l'une des étapes* consiste à changer l'extension du fichier, le rendant accessible à tous.
[Snip]
Il me semble juste que quand on ne doit pas pouvoir acceder à un fichier, il vaut mieux en interdire l'acces, plutot que de garder l'acces possible et s'arranger pour que ce soit sans conséquences.
Oui, et il existe un moyen radical pour cela. Tu places un deny all dans l'un au moins des répertoire de l'include_path, et tu mets le fichier dedans. Pas besoin de changer son extension pour cela.
Et je répète que le "plus" c'est que le fichier ne sera même pas executé, ce qui me semble être une sécurité.
Reprenons depuis le début...
1) http://balbla.tld/fichier.php Le fichier sera interprété par le serveur
2) http://balbla.tld/fichier.ext Le contenu du fichier sera affiché par le serveur
3) http://blabla.tld/index.php?inc=fichier et include( $inc.'.php' ) Le fichier sera interprété par le serveur
4) http://blabla.tld/index.php?inc=fichier et include( $inc.'.ext' ) Le fichier sera interprété par le serveur
Tu m'expliques où est le plus en matière de sécurité ? La seule chose qui permet de sécuriser ton "astuce", c'est l'ajout d'un deny dans le .htaccess. Tout cela pour obtenir à peine plus de sécurité que si l'on avait rien fait.
-- "Si ceux qui disent du mal de moi savaient exactement ce que je pense d'eux , ils en diraient bien davantage." Sacha Guitry