#40 Vérification des droits de création/consulation de topics

Open
opened 8 months ago by Darks · 5 comments
Darks commented 8 months ago

Le commit 415cfd8d8f ajoute la vérification des droits pour créer un sujet dans un forum. Par contre, c’est hardcodé et ça sera compliqué de traiter les forums privés, et autres, par la suite.

Pour gérer les droits des forums privés, je pense faire ça dans le routeur, avec un équivalent du @priv_required.

Et du coup on peut laisser ça comme ça puisque si on a pas le droit d’avoir accès au forum en question, on se prend une 403 à la fois pour la consultation et l'écriture.

À voir (je sais pas si je suis clair)…

Le commit 415cfd8d8f ajoute la vérification des droits pour créer un sujet dans un forum. Par contre, c'est hardcodé et ça sera compliqué de traiter les forums privés, et autres, par la suite. Pour gérer les droits des forums privés, je pense faire ça dans le routeur, avec un équivalent du `@priv_required`. Et du coup on peut laisser ça comme ça puisque si on a pas le droit d'avoir accès au forum en question, on se prend une 403 à la fois pour la consultation et l'écriture. À voir (je sais pas si je suis clair)…
Darks added the
help wanted
label 8 months ago
Darks added the
enhancement
label 8 months ago
Lephenixnoir commented 8 months ago
Owner

Tu as écrit "/news" in f.url puis "/news" not in f.name 😉

Il y aussi des choses du genre privilèges spéciaux mais je ne crois pas qu’on en ait définis à paramètre, donc tout va bien.

La 403 me gêne pas tant que tu peux pas légitimement voir une page, remplir le formulaire, et tomber dessus (par exemple soit le topic lui-même est 403, soit le formulaire est pas affiché).

Tu as écrit `"/news" in f.url` puis `"/news" not in f.name` :wink: Il y aussi des choses du genre privilèges spéciaux mais je ne crois pas qu'on en ait définis à paramètre, donc tout va bien. La 403 me gêne pas tant que tu peux pas légitimement voir une page, remplir le formulaire, et tomber dessus (par exemple soit le topic lui-même est 403, soit le formulaire est pas affiché).
Darks commented 8 months ago
Owner

Tu as écrit “/news” in f.url puis “/news” not in f.name 😉

La fatigue --’

Il y aussi des choses du genre privilèges spéciaux mais je ne crois pas qu’on en ait définis à paramètre, donc tout va bien.

Pour les privilèges spéciaux osef, à partir du moment où member.priv("some-priv") retourne True ça passe. Et la méthode en question checke les privilèges spéciaux et ceux des groupes.

La 403 me gêne pas tant que tu peux pas légitimement voir une page

On veut que :

  1. le forum des news soit visible par tout le monde, mais que seuls les gens qui ont les bons droits puissent y créer des topics
  2. les forums privés ne soient visibles et accessibles que par ceux qui ont les bons droits.

Pour le point 1, ce que j’ai codé fait le taf. Pour le point 2, si on lève une 403 sur toutes les routes non autorisées (/forums/creativecalc/?.* par exemple), non seulement on empêche la consultation, mais aussi la création de topic.

Il suffit ensuite de n’afficher les forums privés qu'à ceux qui en ont les droits à la racine du forum.

> Tu as écrit "/news" in f.url puis "/news" not in f.name :wink: La fatigue --' > Il y aussi des choses du genre privilèges spéciaux mais je ne crois pas qu’on en ait définis à paramètre, donc tout va bien. Pour les privilèges spéciaux osef, à partir du moment où `member.priv("some-priv")` retourne `True` ça passe. Et la méthode en question checke les privilèges spéciaux et ceux des groupes. > La 403 me gêne pas tant que tu peux pas légitimement voir une page On veut que : 1. le forum des news soit visible par tout le monde, mais que seuls les gens qui ont les bons droits puissent y créer des topics 2. les forums privés ne soient visibles et accessibles que par ceux qui ont les bons droits. Pour le point 1, ce que j'ai codé fait le taf. Pour le point 2, si on lève une 403 sur toutes les routes non autorisées (`/forums/creativecalc/?.*` par exemple), non seulement on empêche la consultation, mais aussi la création de topic. Il suffit ensuite de n'afficher les forums privés qu'à ceux qui en ont les droits à la racine du forum.
Lephenixnoir commented 8 months ago
Owner

Pour le point 1, ce que j’ai codé fait le taf.

Exactement, il suffit de ne pas afficher le formulaire :lol:

Pour le point 2, si on lève une 403 sur toutes les routes non autorisées (/forums/creativecalc/?.* par exemple), non seulement on empêche la consultation, mais aussi la création de topic.

Oui, parfait. Je suggère de lever une 403 sur /forums/creativcalc (les pages dont tout le monde connait l’existence) et éventuellement une 404 sur les pages de topics (pour ne pas révéler qu’elles existent, comme d’hab). Aussi niveau indexation on est sûrs que les pages 404 sont jamais indexées même si les URLs s'échappent par erreur.

> Pour le point 1, ce que j’ai codé fait le taf. Exactement, il suffit de ne pas afficher le formulaire :lol: > Pour le point 2, si on lève une 403 sur toutes les routes non autorisées (/forums/creativecalc/?.* par exemple), non seulement on empêche la consultation, mais aussi la création de topic. Oui, parfait. Je suggère de lever une 403 sur `/forums/creativcalc` (les pages dont tout le monde connait l'existence) et éventuellement une 404 sur les pages de topics (pour ne pas révéler qu'elles existent, comme d'hab). Aussi niveau indexation on est sûrs que les pages 404 sont jamais indexées même si les URLs s'échappent par erreur.
Darks commented 8 months ago
Owner

Exactement, il suffit de ne pas afficher le formulaire :lol:

Y’a pas que ça. Ça vérifie aussi à l’envoi du formulaire que l’utilisateur a bien le droit de l’envoyer.

> Exactement, il suffit de ne pas afficher le formulaire :lol: Y'a pas que ça. Ça vérifie aussi à l'envoi du formulaire que l'utilisateur a bien le droit de l'envoyer.
Lephenixnoir commented 8 months ago
Owner

Oui bien sûr, ce que je voulais dire c’est “pour satisfaire le critère que j’ai demandé” (ne pas avoir de 403 en utilisation normale) ça suffit. Pas que c’est assez sécurisé.

Comme pour prouver mon argument, tout à l’heure Yatis a trouvé un topic privé par un moteur de recherche... x)

Oui bien sûr, ce que je voulais dire c'est "pour satisfaire le critère que j'ai demandé" (ne pas avoir de 403 en utilisation normale) ça suffit. Pas que c'est assez sécurisé. Comme pour prouver mon argument, tout à l'heure Yatis a trouvé un topic privé par un moteur de recherche... x)
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.