jquery $ .post protección CSRF

0

¿Cómo puedo proteger el siguiente código de CSRF?

$.post("lib/newEmployee.php",{employee_id: employee_id, employee_name: employee_name},
 function (output){
       //code                        
});

Y aquí está mi formulario (se envía después de validarse con jquery validate):

<form id="new-employee" class="inline-input" action="#" method="post"/>
     <div class="employee-container">
         <div class="field-box">
             <input type="text" class="input-block-level" id="employee_id" name="employee_id" autocomplete="off">
         </div>
         <div class="field-box">
             <input type="text" class="input-block-level" id="employee_name" name="employee_name" autocomplete="off">
         </div>
         <div class="field-box">
             <button type="submit" class="btn btn-success btn-block">New Employee></button>
         </div>
     </div>
</form>
    
pregunta dan 16.08.2014 - 14:52
fuente

1 respuesta

1

La forma más sencilla es verificar el encabezado X-Requested-With que se está configurando . Una alternativa es verificar Origin para los navegadores compatibles.

También puede consultar las otras soluciones en falsificación de solicitudes entre sitios (CSRF) Prevención Trucos Hoja .

Las cookies de doble envío podrían ser apropiadas aquí ya que no requerirá el estado del lado del servidor, aunque el Patrón de token del sincronizador es el método más seguro, ya que el valor del token se genera en el lado del servidor.

    
respondido por el SilverlightFox 16.08.2014 - 17:00
fuente

Lea otras preguntas en las etiquetas