Django Academy · Aula

Defesas contra XSS, CSRF e injeção de SQL

Use corretamente as proteções do Django

Aula 3 de 413 etapas

Defesas contra XSS, CSRF e injeção de SQL é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

The Big Three Web Attacks

Most web breaches come from three classics: XSS, CSRF, and SQL injection. The good news is Django defends against all three when you use it normally. 🛡️

What XSS Is

XSS happens when attacker-supplied text is rendered as live HTML or script in another user's browser, letting it steal data or hijack the page.

Templates Auto-Escape

Django's template engine auto-escapes variables, turning dangerous characters into safe entities. A script in user input renders as harmless text, not code.

<p>{{ user_comment }}</p>

Do Not Disable Escaping

The safe filter and mark_safe turn escaping off. Only use them on content you fully trust, or you reopen the XSS door yourself.

{{ user_comment|safe }}

What CSRF Is

CSRF tricks a logged-in user's browser into submitting a hidden request to your site, performing actions they never intended, like changing a password.

The CSRF Token

Django blocks this with a secret CSRF token tied to each session. A forged form from another site cannot include the right token, so the POST is rejected.

Add the Token to Forms

Drop the csrf_token tag inside every POST form. Django injects the hidden field and verifies it on submit, all automatically.

<form method="post">{% csrf_token %}
  ...
</form>

What SQL Injection Is

SQL injection sneaks malicious SQL into a query through user input, letting an attacker read, change, or delete data they should never touch.

The ORM Protects You

Using the ORM keeps you safe by default. It parameterizes values, so user input is treated as data, never as executable SQL.

Article.objects.filter(title=user_input)

Parameterize Raw SQL

If you must write raw SQL, never glue input into the string. Pass values as parameters so the driver escapes them safely for you.

Article.objects.raw("SELECT * FROM blog_article WHERE id = %s", [pk])

Add a Content Security Policy

For defense in depth against XSS, a Content Security Policy tells browsers which scripts may run. It limits damage even if bad markup slips through.

Quick Check

One question on how Django keeps these attacks out.

Recap: Defaults Are Your Friend

Template auto-escaping, the CSRF token, and the parameterized ORM shut down XSS, CSRF, and SQL injection. Stay on the defaults and you stay safe. 🙌

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Defesas contra XSS, CSRF e injeção de SQL” é grátis?

Sim — o texto completo de “Defesas contra XSS, CSRF e injeção de SQL” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.

O que vou aprender em “Defesas contra XSS, CSRF e injeção de SQL”?

Use corretamente as proteções do Django Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Django Academy?

Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Defesas contra XSS, CSRF e injeção de SQL”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Django Academy?

Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. DEBUG, SECRET_KEY e ALLOWED_HOSTS
  2. HTTPS, HSTS e cookies seguros
  3. Defesas contra XSS, CSRF e injeção de SQL
  4. Executando a lista de verificação de implantação
← Voltar para Django Academy