legacy: la contraseña de la copia deja de viajar en la direccion
El formulario de exportacion se habia pasado a GET, asi que la contraseña que cifra la copia de la identidad acababa en el historial del navegador, en el registro del servidor y en el Referer de lo siguiente que se cargara. Vuelve a POST, como en upstream, y la ruta la lee del cuerpo. Comprobado: la exportacion sigue descargando el fichero, y la direccion con la contraseña ya no responde.
This commit is contained in:
parent
975e892985
commit
1cf62028d2
2 changed files with 6 additions and 3 deletions
|
|
@ -214,9 +214,12 @@ async function karvanInviteAuthor(roomId) {
|
||||||
accounts.setActive(name);
|
accounts.setActive(name);
|
||||||
ctx.redirect('/settings');
|
ctx.redirect('/settings');
|
||||||
})
|
})
|
||||||
.get('/legacy/export', async (ctx) => {
|
// POST y no GET: en la direccion, la contraseña acaba en el historial del
|
||||||
|
// navegador, en el registro del servidor y en el Referer de lo siguiente que
|
||||||
|
// se cargue. En el cuerpo, no.
|
||||||
|
.post('/legacy/export', koaBody(), async (ctx) => {
|
||||||
if (!isLoopbackRequest(ctx)) { ctx.status = 403; ctx.body = ''; return; }
|
if (!isLoopbackRequest(ctx)) { ctx.status = 403; ctx.body = ''; return; }
|
||||||
const pw = ctx.query && ctx.query.password;
|
const pw = ctx.request.body && ctx.request.body.password;
|
||||||
if (!pw || pw.length < 32) return ctx.redirect('/legacy');
|
if (!pw || pw.length < 32) return ctx.redirect('/legacy');
|
||||||
try {
|
try {
|
||||||
const { filename, data } = await legacyModel.exportData({ password: pw });
|
const { filename, data } = await legacyModel.exportData({ password: pw });
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ const legacyView = async () => {
|
||||||
form(
|
form(
|
||||||
{
|
{
|
||||||
action: "/legacy/export",
|
action: "/legacy/export",
|
||||||
method: "GET",
|
method: "POST",
|
||||||
id: "exportForm"
|
id: "exportForm"
|
||||||
},
|
},
|
||||||
label(i18n.exportPasswordLabel),
|
label(i18n.exportPasswordLabel),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue