Come filtrare le variabili di ingresso con PHP

Aggiornato il: 12-02-2023 08:46
L’utilizzo di PHP prevede svariate funzioni di basso livello che, in molti casi, è bene trovarsi pronti a trattare con le dovute cautele per evitare rischi di attacco da parte di utenti maliziosi che manipolino l’output.


V-Hosting è l'hosting italiano: scoprilo adesso


Scopri Keliweb , il servizio di hosting italiano: clicca qui !

suicidiophp11

(c) leremy – Fotolia.com

La situazione tipica di questi casi riguarda una sottovalutazione globale del problema, salvo poi doversi ricredere quando il nostro sito è compromesso (spesso definitivamente); non ci sono dubbi, in effetti, che il rischio della manipolazione delle variabili di ingresso (form di ingresso e, naturalmente, variabili che passiamo mediante concatenazione direttamente nell’URL) inserite direttamente dagli utenti (a volte addirittura anonimi) sia un fattore da non prendere sottogamba per nessuna ragione.

Per questo motivo è necessario filtrare le variabili di ingresso, e questo significa concentrare la propria attenzione su quello che potenzialmente potrebbe arrivare al nostro codice mediante $_POST e $_GET.

Per filtrare una variabile di ingresso si utilizza normalmente addslashes, e filtrare le due variabili in questione (e tutte le loro occorrenze nel codice del sito, ovviamente) significa fare qualcosa di questo tipo:


Scopri Keliweb , il servizio di hosting italiano: clicca qui !


V-Hosting è l'hosting italiano: scoprilo adesso

$_POST['qualcosa'] = addslashes( $_POST['qualcosa'] );

$_GET['qualcosa'] = addslashes( $_GET['qualcosa'] );

Per la cronaca, comunque, la funzione “magic quotes” serve esattamente ad assolvere questo tipo di funzionalità , imponendo l’utilizzo automatico di addslashes su tutti i GET/POST e, in aggiunta, su quello che viene usualmente salvato nei cookie. Per attivarlo, in condizioni di amministratore del sistema con il massimo dei privilegi, sarà  necessario aggiungere:

php_flag magic_quotes_gpc on

nel file .htaccess, oppure possiamo operare sul PHP.ini (quando consentito):


V-Hosting è l'hosting italiano: scoprilo adesso


Scopri Keliweb , il servizio di hosting italiano: clicca qui !

magic_quotes_gpc = on

In caso di difficoltà  è necessario contattare l’hosting che state utilizzando perchè risolvano il problema loro (e non è detto, in generale, che lo facciano, specie sulle soluzioni ultra-low cost ed in overselling). Ci sono altre regole generali di sicurezza da seguire, come ad esempio disattivare la notifica esplicita degli errori in PHP, relegando il tutto ad un log di sistema che possiamo leggere soltanto noi e privando potenziali attaccanti, in questo modo, di informazioni che potrebbero contribuire ad una code injection o SQL injection.



Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Come filtrare le variabili di ingresso con PHP
cyberpunk 12

Ingegnere per passione, consulente per necessità, docente di informatica; ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti. Ogni guida viene revisionata e aggiornata periodicamente. Per contatti clicca qui


V-Hosting è l'hosting italiano: scoprilo adesso


Scopri Keliweb , il servizio di hosting italiano: clicca qui !

suicidiophp11
Torna su