jquery $ .post Protezione CSRF

0

Come posso proteggere il seguente codice da CSRF?

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

Ed ecco il mio modulo (è inviato dopo essere stato validato 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>
    
posta dan 16.08.2014 - 14:52
fonte

1 risposta

1

Il modo più semplice è quello di verificare che l'intestazione X-Requested-With sia impostata . Un'alternativa è controllare Origin per i browser supportati.

In alternativa, controlla le altre soluzioni su Checche Prevenzione Cross-Site Request Forgery (CSRF) foglio .

Double Submit I cookie potrebbero essere appropriati in questo caso in quanto non richiede lo stato lato server, sebbene il token pattern di sincronizzazione sia l'approccio più sicuro poiché il valore del token è generato lato server.

    
risposta data 16.08.2014 - 17:00
fonte

Leggi altre domande sui tag