<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Security on DevFlow · Développeur Python Django Freelance</title>
    <link>https://dev-flow.io/tags/security/</link>
    <description>Recent content in Security on DevFlow · Développeur Python Django Freelance</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <lastBuildDate>Tue, 26 May 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://dev-flow.io/tags/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Permissions déclaratives en DRF avec rest_access_policy</title>
      <link>https://dev-flow.io/posts/django-rest-access-policy/</link>
      <pubDate>Tue, 26 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/posts/django-rest-access-policy/</guid>
      <description>rest_access_policy remplace les classes has_permission de DRF par des statements déclaratifs. Règles d&amp;#39;accès lisibles, testables et extensibles sans risque d&amp;#39;oubli.</description>
    </item>
    <item>
      <title>Hash, HMAC et chiffrement : sécuriser un token Django</title>
      <link>https://dev-flow.io/posts/hash-hmac-token-securite/</link>
      <pubDate>Mon, 25 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/posts/hash-hmac-token-securite/</guid>
      <description>sha256, salt, HMAC ou chiffrement ? Chaque mécanisme offre des garanties différentes. Voici comment choisir selon votre besoin réel, illustré avec Django.</description>
    </item>
    <item>
      <title>Timing attacks en Django avec constant_time_compare</title>
      <link>https://dev-flow.io/posts/django-timing-attacks/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0200</pubDate>
      <guid>https://dev-flow.io/posts/django-timing-attacks/</guid>
      <description>La comparaison == sur un token fuit des informations via le temps d&amp;#39;exécution. Django fournit constant_time_compare() pour éliminer ce risque en production.</description>
    </item>
  </channel>
</rss>
