`Referrer-Policy: no-referrer` breaks `/_logout`?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- haskell, nginx
- Área
- authentication, backend
Línea de trabajo
Empieza por src/Network/Gitit/Authentication.hs alrededor de las líneas 404-415 y reproduce el flujo de logout detrás de nginx con Referrer-Policy: no-referrer. Rastrea cómo se gestiona el Referer ausente; el trabajo estará terminado cuando /_logout ya no se redirija a sí mismo cuando no se envíe ningún Referer, mientras se mantiene intacto el comportamiento existente de redirección del logout.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have Debian 12 with gitit 0.15.1.0+dfsg-2+b6 and nginx 1.22.1-9 (doing proxy_pass http://127.0.0.1:5001/).
I was messing with https://infosec.mozilla.org/guidelines/web_security.html#referrer-policy
I found that with add_header Referrer-Policy no-referrer always; in nginx.conf,
when I tried to logout, the /_logout URL returned a 303 redirect back to itself.
This happened over and over until Firefox reached a redirect limit.
It looks like add_header Referrer-Policy same-origin always; does not exhibit this issue.
I think if there is no Referer, _logout should redirect to / rather than itself?
I looked at
https://github.com/jgm/gitit/blob/0.15.1.0/src/Network/Gitit/Authentication.hs#L404-L415
but I'm not immediately sure what ought to go in the dest <- to implement "there is no referer".
This is a weird edge case, so I don't mind if you just say "so, don't do that" and close this ticket :-)
- Lenguaje dominante
- Haskell
- Estrellas
- 2.3k
- Forks
- 231
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jgm/gitit
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
No borders in tables.Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
alunduil/network-arbitrary#180 ·
Los mantenedores suelen responder en 1 día
-
infrastructure
Dificultad 1/5 1-3 horas Aptitud para principiantes 65/100
alunduil/siren-json.hs#232 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Test suite failure with 0.1.1Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
jgm/asciidoc-hs#14 ·
-
unfoldTree is too lazyAbiertomajor-release strictness Tree
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
haskell/containers#1260 ·
Los mantenedores suelen responder en 1 día