precauciones de seguridad huevo CSRF

URL:

http://eggjs.org/zh-cn/core/security.html

Una manera:
En el controlador a través del paso de parámetros plantilla
/ ** 
 * Método 1: parámetros de regulación aprobadas por la plantilla 
 * this.ctx.csrf los usuarios acceder a esta página cuando se genera una clave 
 * / 
el ctx.render Await ( 'Inicio', { 
  CSRF: this.ctx.csrf 
});
Segunda manera:
Mediante la creación de middleware, establecer las variables globales de plantilla
app / middleware / auth.js
/ ** 
 * cheque forma sincronización CSRF 
 * / 
module.exports = (Opciones, Aplicación) => { 
  devolver la función asincrónica la autenticación (CTX, Siguiente) { 
    // establecer la variable global plantilla 
    ctx.state.csrf = ctx.csrf; 

    A continuación, el await (); 
  } 
}

config / config.default.js

// Añadir dispuesta intermedia 
config.middleware = [ 'auth'];

controlador utilizado

/ ** 
 * La segunda manera: mediante la creación de middleware, el establecimiento de la plantilla variable global 
 * config.middleware = [auth ']; 
 * / 
el ctx.render Await (' Home ');

plantilla:

app / view / home.html

<! DOCTYPE html> 
<html lang = "en"> 
<head> 
    <meta charset = "UTF-8"> 
    <meta name = "viewport" content = "width = dispositivo de ancho, inicial escala = 1,0"> 
    <首页título </ title>> 
</ head> 
<body> 
    <form action = "? _csrf = <% =% csrf / add>" method = "POST"> 
        <! -通过隐藏的表单域传值- > 
        <! - <input type = "hidden" name = "_ csrf" value = "<% =%> csrf" /> -> 
        用户名: <input type = nombre de "texto" = "nombre de usuario" /> < br /> 
        密码: <input type = nombre "contraseña" = "contraseña" /> <br />
        <tipo botón = "submit">提交</ botón> 
    </ form> 
</ body> 
</ html>

.

 

Supongo que te gusta

Origin www.cnblogs.com/crazycode2/p/12443812.html
Recomendado
Clasificación