Forum PHPBoost
• Support noyau » [Réglé] Problème sécurité? (droits des modules?) Sécurité des liens défaillante ...
Bonjour, je vais essayer d'aller au + court :
Lorsque je me connecte sur mon site en "visiteur", j'atteris sur ma page d'accueil comme prévu mais si je décide par exemple d'accéder à ma page perso que j'ai crée dans mon dossier ./perso/exemple.php ou encore une page sur le site de base comme par exemple ./member/member.php et bien petit problème, je peut y accéder en tapant l'url ds la barre !!!!
1- Est-ce normal ?
Si non, comment puis-je sécurisé toutes ces pages afin qu'elle soit visible ET accessible uniquement par les utilisateurs que je souhaite ???
En gros, je souhaite que lorsque un visiteur lambda mal intentionné tape l'url d'une page (accessible uniquement par un membre par ex) sois redirigé vers une page d'errreur ou de login ! et qu'il ne puisse pas y accéder !!!
Je sais que le module "Liens du site" permet logiquement de gérer ce problème, mais j'ai beau cocher visible par les membres par exemple, la page reste tout de meme accessible en tapant son url étant visiteur !!!!
Merci d'avance ! Je suis sur que ce problème à du être rencontré precedemment mais je n'ai pas trouve de topic ds le forum, dsl
Spyserve
Lorsque je me connecte sur mon site en "visiteur", j'atteris sur ma page d'accueil comme prévu mais si je décide par exemple d'accéder à ma page perso que j'ai crée dans mon dossier ./perso/exemple.php ou encore une page sur le site de base comme par exemple ./member/member.php et bien petit problème, je peut y accéder en tapant l'url ds la barre !!!!
1- Est-ce normal ?
Si non, comment puis-je sécurisé toutes ces pages afin qu'elle soit visible ET accessible uniquement par les utilisateurs que je souhaite ???
En gros, je souhaite que lorsque un visiteur lambda mal intentionné tape l'url d'une page (accessible uniquement par un membre par ex) sois redirigé vers une page d'errreur ou de login ! et qu'il ne puisse pas y accéder !!!
Je sais que le module "Liens du site" permet logiquement de gérer ce problème, mais j'ai beau cocher visible par les membres par exemple, la page reste tout de meme accessible en tapant son url étant visiteur !!!!
Merci d'avance ! Je suis sur que ce problème à du être rencontré precedemment mais je n'ai pas trouve de topic ds le forum, dsl

Spyserve
Bienvenue à toi 
tu vas dans l'administration / site / modules et tu choisis le niveau pour voir le module
no stress

tu vas dans l'administration / site / modules et tu choisis le niveau pour voir le module

no stress
____________________
Toujours OSER, savoir parfois CEDER, mais jamais RENONCER!
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
Toujours OSER, savoir parfois CEDER, mais jamais RENONCER!
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
En fait le module de liens n'a aucun rapport avec les autres modules. Chaque module a ses configurations d'autorisation (définies dans le panneau d'administration des modules), c'est ici qu'il faut faire les modifications et elles seront prises en compte, c'est-à-dire que l'utilisateur qui demandera une de ces pages tombera sur une erreur.
Le module de liens ne fait qu'afficher le lien seulement si l'utilisateur respecte l'autorisation demandée mais n'a aucune relation avec les autres modules.
J'espère avoir été clair.
Le module de liens ne fait qu'afficher le lien seulement si l'utilisateur respecte l'autorisation demandée mais n'a aucune relation avec les autres modules.
J'espère avoir été clair.
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."
Merci pour cette réponse rapide !!!
Je viens d'essayer , c'est mieux que tout à l'heure, mais je peut toujours accéder à la page member.php (bug?) et surtout comment puis-je sécurisé une page que j'ai crée moi même avec un système similaire au site ???
Merci encore
!
Je viens d'essayer , c'est mieux que tout à l'heure, mais je peut toujours accéder à la page member.php (bug?) et surtout comment puis-je sécurisé une page que j'ai crée moi même avec un système similaire au site ???
Merci encore
!
Pour restreindre l'accès à une page à un certain niveau il faut y insérer ceci après avoir chargé l'environnement de PHPBoost :
[code=php]if( !$Member->Check_level(MEMBER_LEVEL) ) //Restriction aux membres seulement
$Errorh->Error_handler('e_auth', E_USER_REDIRECT); [/code]
Pour restreindre aux modérateurs utiliser la constante MODO_LEVEL et pour les administrateurs ADMIN_LEVEL.
L'utilisateur non autorisé sera redirigé vers une page d'erreur l'indiquant qu'il n'a pas les droits nécessaires pour accéder à cette page.
Pour la page des membres c'est un peu différent étant donné qu'elle est intégrée au noyau, elle ne correspond donc pas à un module. Il ne s'agit encore une fois pas d'un bug, c'est tout simplement qu'il ne nous a pas semblé utile de restreindre l'accès à ces pages. Est-ce vraiment utile ?
[code=php]if( !$Member->Check_level(MEMBER_LEVEL) ) //Restriction aux membres seulement
$Errorh->Error_handler('e_auth', E_USER_REDIRECT); [/code]
Pour restreindre aux modérateurs utiliser la constante MODO_LEVEL et pour les administrateurs ADMIN_LEVEL.
L'utilisateur non autorisé sera redirigé vers une page d'erreur l'indiquant qu'il n'a pas les droits nécessaires pour accéder à cette page.
Pour la page des membres c'est un peu différent étant donné qu'elle est intégrée au noyau, elle ne correspond donc pas à un module. Il ne s'agit encore une fois pas d'un bug, c'est tout simplement qu'il ne nous a pas semblé utile de restreindre l'accès à ces pages. Est-ce vraiment utile ?
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."
Ok merci de ta réponse , pour la page membre et bien je trouve cela un peu dérangeant dans le sens où je n'ai pas envie que certain reconnaisse d'autres personnes, après tout on ne sait jamais qui est visiteur ... ou du moins pas vraiment :/
Mais je comprend votre choix de conception et à priori ça n'est pas un gros problème dans mon cas
!
Merci encore et bonne soirée
PS: Oops tu as raison , code retiré
!
Edité par spyserve Le 05/03/08 à 00h00
Mais je comprend votre choix de conception et à priori ça n'est pas un gros problème dans mon cas
!Merci encore et bonne soirée

PS: Oops tu as raison , code retiré
!
Edité par spyserve Le 05/03/08 à 00h00
Reporte toi à ce que j'ai proposé et pas à ce que tu as marqué, ce n'est pas faux mais c'est valable que pour un module, et tu utilises les autorisations du module de téléchargements en faisant cela... Si ta page a un réel rapport avec le module pourquoi pas faire comme ceci, mais si ce n'est pas le cas fais ce que je t'ai indiqué.
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."
ben.popeye:
Oui, j'ai effectuer la modif' mais le pb c'est que je n'arrive pas à chargé l'environnement pour ma page perso au préalable :o donc ça ne marche pas ....
Pourrais tu me donner plus de précision la dessus ...
Merci
après avoir chargé l'environnement de PHPBoost
Oui, j'ai effectuer la modif' mais le pb c'est que je n'arrive pas à chargé l'environnement pour ma page perso au préalable :o donc ça ne marche pas ....
Pourrais tu me donner plus de précision la dessus ...
Merci
Voici une page type (elle figure déjà plus ou moins dans la documentation) :
[code=php]<?php
//Chargement de l'environnement de PHPBoost
include_once('../includes/begin.php');
//Définition du titre de la page (correspond au contenu des balises <title> </title>
define('TITLE', 'Titre de la page');
//Chargement de l'environnement graphique
include_once('../includes/header.php');
//Contenu de la page
//Fermeture de l'environnement
include_once('../includes/footer.php');
?>[/code]
[code=php]<?php
//Chargement de l'environnement de PHPBoost
include_once('../includes/begin.php');
//Définition du titre de la page (correspond au contenu des balises <title> </title>

define('TITLE', 'Titre de la page');
//Chargement de l'environnement graphique
include_once('../includes/header.php');
//Contenu de la page
//Fermeture de l'environnement
include_once('../includes/footer.php');
?>[/code]
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."
Bon je viens d'essayer avec cette structure, en fait mon erreur ne vient pas de la, elle vient de la variable $member qui n'est déclaré dans "begin.php" et aussi de la méthode check_level qui de ce fait n'est pas reconnue ... :/
En gros il faudrait que je crée une variable $member un peu comme ça :
$member = new Member($session->data, $_array_member_auth);
Avec en plus la déclaration d'une classe "member" de ce style : member.class.php ?
Mais est-ce vraiment utile de redéclaré une classe ? Ne pourrais-je pas plutot utilisé les la classe "groups" deja présente ?
Merci
En gros il faudrait que je crée une variable $member un peu comme ça :
$member = new Member($session->data, $_array_member_auth);
Avec en plus la déclaration d'une classe "member" de ce style : member.class.php ?
Mais est-ce vraiment utile de redéclaré une classe ? Ne pourrais-je pas plutot utilisé les la classe "groups" deja présente ?
Merci
Il s'est trompé, il t'a donné le code de la version 2.1 qui n'est pas encore sortie...
Le que tu dois mettre c'est:
Code PHP :
Le que tu dois mettre c'est:
Code PHP :
if( !$session->check_auth($session->data, 0) ) { $errorh->error_handler('e_auth', E_USER_REDIRECT); exit; }
Parfait ! Merci à tout les deux !!!!! 
Problème résolu !

Problème résolu !
CrowkaiT:
Bonsoir
Est ce qu'on peu insiré ce code dans page html qui s'ouvre dasn un popup
http://www.ait-tinghir.com/video/pag/abdelkraim.htm
Il s'est trompé, il t'a donné le code de la version 2.1 qui n'est pas encore sortie...
Le que tu dois mettre c'est:
[code=php]if( !$session->check_auth($session->data, 0) )
{
$errorh->error_handler('e_auth', E_USER_REDIRECT);
exit;
}[/code]
Le que tu dois mettre c'est:
[code=php]if( !$session->check_auth($session->data, 0) )
{
$errorh->error_handler('e_auth', E_USER_REDIRECT);
exit;
}[/code]
Bonsoir
Est ce qu'on peu insiré ce code dans page html qui s'ouvre dasn un popup
http://www.ait-tinghir.com/video/pag/abdelkraim.htm
c'est du php donc la page doit etre en php pas en html. Il est impossible de gérer des autorisation en html tout simplement.
Edité par magikverse Le 02/06/08 à 00h43
Edité par magikverse Le 02/06/08 à 00h43
merci beaucoup
• Support noyau » [Réglé] Problème sécurité? (droits des modules?) Sécurité des liens défaillante ...
1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne: Aucun membre connecté
Utilisateur en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie





PHPBoost

Support
Téléchargements
Développement
Communauté













