Replace CSRF cookie with CrossOriginProtection (#36183)

Removes the CSRF cookie in favor of
[`CrossOriginProtection`](https://pkg.go.dev/net/http#CrossOriginProtection)
which relies purely on HTTP headers.

Fixes: https://github.com/go-gitea/gitea/issues/11188
Fixes: https://github.com/go-gitea/gitea/issues/30333
Helps: https://github.com/go-gitea/gitea/issues/35107

TODOs:

- [x] Fix tests
- [ ] Ideally add tests to validates the protection

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
silverwind
2025-12-25 11:33:34 +01:00
committed by GitHub
parent eddf875992
commit 42d294941c
207 changed files with 178 additions and 1196 deletions
-1
View File
@@ -8,7 +8,6 @@
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{template "base/disable_form_autofill"}}
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -8,7 +8,6 @@
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{template "base/disable_form_autofill"}}
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -8,7 +8,6 @@
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{template "base/disable_form_autofill"}}
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -8,7 +8,6 @@
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{template "base/disable_form_autofill"}}
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -7,7 +7,6 @@
<div class="ui attached segment">
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -7,7 +7,6 @@
<div class="ui attached segment">
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -7,7 +7,6 @@
<div class="ui attached segment">
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-1
View File
@@ -7,7 +7,6 @@
<div class="ui attached segment">
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">
-2
View File
@@ -64,7 +64,6 @@
{{end}}
</div>
<form class="ui form" action="{{.Link}}/settings" method="post">
{{.CsrfTokenHtml}}
<input type="hidden" name="action" value="delete">
<div class="field">
<label>
@@ -90,7 +89,6 @@
{{ctx.Locale.Tr "repo.migrate.cancel_migrating_title"}}
</div>
<form action="{{.Link}}/settings/migrate/cancel" method="post">
{{.CsrfTokenHtml}}
<div class="content">
{{ctx.Locale.Tr "repo.migrate.cancel_migrating_confirm"}}
</div>
-1
View File
@@ -8,7 +8,6 @@
{{template "base/alert" .}}
<form class="ui form left-right-form" action="{{.Link}}" method="post">
{{template "base/disable_form_autofill"}}
{{.CsrfTokenHtml}}
<input id="service_type" type="hidden" name="service" value="{{.service}}">