|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | 2 | <!-- $Revision$ --> |
3 | | -<!-- EN-Revision: ab6785b01ce1006e3a9761988575289f40c9b678 Maintainer: ManueldG Status: ready --> |
| 3 | +<!-- EN-Revision: f0ed705e1ac34fed4c92979f63bee74c382f991b Maintainer: ManueldG Status: ready --> |
| 4 | +<!-- Reviewed: no --> |
4 | 5 | <!-- splitted from ./index.xml, last change in rev 1.66 --> |
5 | 6 |
|
6 | 7 |
|
@@ -66,23 +67,33 @@ exec ($evil_var); |
66 | 67 | </listitem> |
67 | 68 | </itemizedlist> |
68 | 69 | </para> |
69 | | - <para> |
| 70 | + <para> |
70 | 71 | Ponendosi queste domande durante la scrittura dello script, |
71 | 72 | piuttosto che farsele dopo, si previene una difficile riscrittura quando |
72 | 73 | invece si ha bisogno di migliorarne la sicurezza. Iniziando a usare queste |
73 | 74 | regole, non si garantisce la sicurezza del sistema, ma si può contribuire a |
74 | | - migliorarlo. |
| 75 | + migliorarlo. |
| 76 | + </para> |
| 77 | + <para> |
| 78 | + Migliorare la sicurezza disabilitando le impostazioni utili per nascondere |
| 79 | + l'origine dei dati, la validità o l'integrità dell'input. La creazione di variabili implicite e |
| 80 | + l'input incontrollato può portare a vulnerabilità come attacchi di injection e |
| 81 | + manipolazione dei dati. |
75 | 82 | </para> |
76 | 83 | <para> |
77 | | - Si potrebbe anche voler disattivare register_globals, |
78 | | - magic_quotes o altre impostazioni utili che potrebbero |
79 | | - renderne meno chiare la validità, la fonte o il valore |
80 | | - di una determinata variabile. Lavorare con |
81 | | - <acronym>PHP</acronym> in modalità error_reporting(E_ALL) può |
82 | | - anche aiutare ad informare sulle variabili utilizzate prima che vengano |
83 | | - controllate o inizializzate (in modo da impedire che vengano utilizzati |
84 | | - dati insoliti). |
| 84 | + Funzionalità come <literal>register_globals</literal> e |
| 85 | + <literal>magic_quotes</literal> (entrambi rimossi in PHP 5.4.0) hanno contribuito |
| 86 | + ad agevolare questi rischi creando automaticamente variabili dall'input dell'utente e |
| 87 | + escape dai dati in modo incoerente. Sebbene queste funzioni non siano più in PHP, persistono rischi simili |
| 88 | + se la gestione dell'input è gestita in modo errato. |
85 | 89 | </para> |
| 90 | + <para> |
| 91 | + Abilitare <link linkend="function.error-reporting">error_reporting(E_ALL)</link> |
| 92 | + aiuta a rilevare le variabili non inizializzate e a convalidare l'input. Utilizzare la modalità strict |
| 93 | + (<link linkend="language.types.declarations.strict">declare(strict_types=1)</link>, |
| 94 | + introdotto in PHP 7) per garantire la sicurezza dei tipi, prevenire conversioni involontarie, |
| 95 | + e migliorare la sicurezza generale. |
| 96 | + </para> |
86 | 97 | </chapter> |
87 | 98 |
|
88 | 99 | <!-- Keep this comment at the end of the file |
|
0 commit comments