Skip to content

[IDOR] Admin: sécurisation des urls de gestion des membres [GEN-2399]#5417

Merged
vincentporte merged 3 commits into
masterfrom
vp/idor_deactivate_member
Mar 5, 2025
Merged

[IDOR] Admin: sécurisation des urls de gestion des membres [GEN-2399]#5417
vincentporte merged 3 commits into
masterfrom
vp/idor_deactivate_member

Conversation

@vincentporte
Copy link
Copy Markdown

@vincentporte vincentporte commented Jan 20, 2025

🤔 Pourquoi ?

les urls des companies_views, prescribers_views et institutions_views permettent l'accès à la gestion des membres (ajout, mise à jour, suppression) à partir de l'id incrémental du user

Catégories changelog

Employeur, Prescripteur, Institutions

🍰 Comment ?

🦺 remplacer les id par les public_id
🦺 ajout de 3 routes temporaires pour le deploiement zero downtime
🦺 simplification de routes utilisant re_path, pour supprimer les regex sur les uuid

🚨 À vérifier

  • Mettre à jour le CHANGELOG_breaking_changes.md ? > Non

ref notion

@vincentporte vincentporte self-assigned this Jan 20, 2025
@vincentporte vincentporte added modifié Modifié dans le changelog. tech and removed modifié Modifié dans le changelog. labels Jan 20, 2025
@vincentporte vincentporte changed the title [IDOR] sécurisation des urls de gestion des membres [IDOR] sécurisation des urls de gestion des membres [GEN-2399] Jan 20, 2025
Comment thread itou/www/companies_views/urls.py Outdated
@vincentporte vincentporte marked this pull request as draft January 20, 2025 10:22
@vincentporte vincentporte force-pushed the vp/idor_deactivate_member branch 2 times, most recently from b9e3ed8 to 82eb809 Compare January 20, 2025 11:16
@vincentporte vincentporte marked this pull request as ready for review January 20, 2025 11:17
Copy link
Copy Markdown
Member

@francoisfreitag francoisfreitag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour moi, il n’y a pas IDOR ici non plus, car les membres sont limités aux membres de l’entreprise et l’accès est vérifié par des contrôles (est bien admin de la structure, etc).
On peut accéder à la liste des membres de la structure par une page dédiée, et on affichera 404 si on essai d’utiliser un chemin avec une PK (ou un public id) d’un utilisateur non membre de la structure.

Comment thread itou/www/companies_views/views.py Outdated
Comment thread itou/www/companies_views/urls.py
@vincentporte vincentporte force-pushed the vp/idor_deactivate_member branch 2 times, most recently from 2565d7d to ac8fded Compare February 27, 2025 17:28
@vincentporte vincentporte force-pushed the vp/idor_deactivate_member branch from ac8fded to 30faa05 Compare March 3, 2025 09:25
Comment thread itou/www/companies_views/views.py Outdated
# To be removed when the old URL is no longer used
@check_user(lambda user: user.is_employer)
def update_admin_role(request, action, user_id, template_name="companies/update_admins.html"):
def deactivate_member_temp_redirection(request, user_id):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On pourrait n'avoir qu'une seule vue:
def deactivate_member(request, public_id=None, user_id=None, template_name="companies/deactivate_member.html"):
et gérer en fonction de l'argument présent.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ca valait le coup, merci !

@xavfernandez
Copy link
Copy Markdown
Contributor

Et j'aurais plutôt vu 3 commits différents pour companies_views, prescribers_views et institutions_views (sans tous les découpages).

@vincentporte vincentporte force-pushed the vp/idor_deactivate_member branch from 30faa05 to 49c4d01 Compare March 5, 2025 16:52
@vincentporte vincentporte changed the title [IDOR] sécurisation des urls de gestion des membres [GEN-2399] Admin: sécurisation des urls de gestion des membres [GEN-2399] Mar 5, 2025
@vincentporte vincentporte force-pushed the vp/idor_deactivate_member branch from 49c4d01 to d60557f Compare March 5, 2025 16:53
@vincentporte vincentporte enabled auto-merge March 5, 2025 16:54
@vincentporte vincentporte added this pull request to the merge queue Mar 5, 2025
Merged via the queue into master with commit 79e052c Mar 5, 2025
@vincentporte vincentporte deleted the vp/idor_deactivate_member branch March 5, 2025 17:12
@vincentporte vincentporte changed the title Admin: sécurisation des urls de gestion des membres [GEN-2399] [IDOR] Admin: sécurisation des urls de gestion des membres [GEN-2399] Mar 10, 2025
@notion-workspace
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants