Come filtrare le variabili di ingresso con PHP

Argomenti:
Pubblicato il: 16-06-2019 14:02 , Ultimo aggiornamento: 13-02-2021 18:20

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.

(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:

$_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):
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.

Nessun voto disponibile

Che te ne pare?

Grazie per aver letto Come filtrare le variabili di ingresso con PHP di Salvatore Capolupo su Trovalost.it
Come filtrare le variabili di ingresso con PHP (Guide, Guide PHP)

Articoli più letti su questi argomenti:
Trovalost.it è gestito, mantenuto, ideato e (in gran parte) scritto da Salvatore Capolupo