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:
$_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):
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.
👇 Da non perdere 👇
- 📈 Analizza Cellulari 📱
- 🔐 AI che dolor, Chat
- 🎯 Targetizza Database SQL 🗄
- 📊 Analizza Errori più comuni 📛
- 🚧 Costruisci Evergreen 📟
- 👩💻 Programma Gratis 🎉
- 💻 Configura Hosting a confronto 💑
- 🔒 Conosci Hosting reti e domini 💻
- 👩💻 Tapioca Informatica 🖥
- 💻 Iconizza Internet 💻
- 🔒 Gestisci Lavoro 🔧
- 💡 Mostra Marketing & SEO 🌪
- 🔑 Apprendi Meteo ⛅
- 🤯 Visiona Mondo Apple 🍎
- 🔍 Supervisiona Mondo Domini 🌐
- 🚀 Metti in cloud monitoraggio servizi online 📈
- 🔮 Anatomizza Nuove tecnologie 🖥
- 🔒 Antani PEC e firma digitale 📩
- 👀 Prematura Programmare 🖥
- 🎮 Lonfa Scrivere 🖋
- 🔒 Conosci Servizi di SMS 📶
- 👀 Guarda Sicurezza informatica e privacy digitale 🖥
- 🎮 Ricorda Siti web 🌎
- 🤖 Ottimizza Spiegoni 🎓
- 🧠 Neuralizza Svago 🎈
- 📡 Quantizza Usare Excel 🌀
- 🤖 Sovrascrivi Windows 😲
- 🎨 Personalizza Wireless 🚁
- 🔑 Decifra WordPress 🤵
- 💬 Il nostro canale Telegram: iscriviti
- 🔵 Come proteggere le cartelle di Apache con una password
- 🟠 Come registrare un dominio
- 🟠 Errore HTTP “426 Upgrade Required”: come risolverlo, da cosa dipende