Cake
segue le best practice in molte aree e dispone di strumenti piuttosto sicuri. Lo
integrato è dotato di un'infrastruttura che ha già coperto in una certa misura molte aree tipiche della sicurezza webapp. Ad esempio, non dovrai preoccuparti molto dell'iniezione SQL, poiché l'astrazione del database di Cake sfugge a tutti gli input. Qualora così non fosse, the manual warns you modo appropriato:
updateAll(array $fields, array $conditions)
!
L'array $ campi accetta espressioni SQL. I valori letterali dovrebbero essere quotati manualmente.
Utilizzando SecurityComponent si ottiene la protezione automatica dello spoofing del modulo.
La convalida dei dati è una grande parte integrata dei modelli.
Le password di hasc e sali AuthComponent
correttamente
, sebbene non necessariamente nel modo più sicuro possibile.
C'è una comoda scorciatoia h()
per htmlentities
che dovresti usare per uscire dall'output per evitare problemi XSS.
Et cetera Perge Perge ...
È dovrà ancora utilizzare tutti i componenti in modo corretto e anche se stare attenti a non aprire eventuali buchi "su misura". Cake è solo una cassetta degli attrezzi, è ancora perfettamente possibile creare un'applicazione terribilmente insicuro che lo utilizza. Puoi comunque spararti ai piedi, indipendentemente dalla bontà della pistola. La struttura Cake predefinita è solo un punto di partenza. Non è il fine-tutto-tutto-tutto in termini di sicurezza; pensa per te. Il link fornito da John è davvero un buon punto di partenza.
Grazie John, uno dei motivi per cui ho fatto questa domanda è che quando ho cercato di creare un sistema di autenticazione completo senza usare CakePHP, ho notato che una gran parte di esso era legato a problemi di sicurezza. Cose come la convalida dei dati e la protezione contro le iniezioni SQL e così via. Quindi, adottando un framework (cakephp), HOUMMED ci sarebbero state alcune guardie sicure integrate contro alcune delle cose che ho appena menzionato. La mia ipotesi è corretta? Anche qualcosa in particolare che gli sviluppatori fanno sempre avere un codice sicuro? Ancora una volta, grazie in anticipo :) –
Non ho familiarità con CakePHP poiché non l'ho mai usato, quindi non sono sicuro del tipo di applicazione e strumenti che offre per la programmazione sicura. Potrebbe offrire strumenti per gestire la convalida dei dati e le misure igieniche per voi, ma probabilmente avrete bisogno di utilizzare questi strumenti in modo esplicito, poiché dubito che saranno automatici. –
hai parlato di "pratiche di codifica sicure" puoi darti qualche consiglio o qualche riferimento – RSK