Sommario
Alcuni compiti da svolgere per dare maggiore sicurezza ed evitare problemi sono:Disabilita la visualizzazione degli errori e degli avvisi in php, questo può essere utilizzato in fase di programmazione per aiutare lo sviluppatore a vedere gli errori e poi disattivarlo quando il web entra in fase di produzione.
Disattiva tutte le notifiche di errore
Utilizzando le seguenti variabili nel php.ini:
segnalazione_errore (0);// Segnala solo errori di esecuzione
segnalazione_errore (E_ERROR | E_WARNING | E_PARSE);// Segnala tutti gli errori tranne E_NOTICE
segnalazione_errore (E_ALL E_NOTICE);// Segnala tutti gli errori PHP (error_reporting (E_ALL);
Possono essere attivati e disattivati anche inserendo il codice all'inizio della pagina da eseguire.
È sempre importante correggere e non nascondere gli errori, molti sviluppatori usano error_reporting (0) per nascondere gli errori, ma questi sono ancora lì e potrebbero essere sfruttati, dobbiamo sempre evitare che qualsiasi codice che sviluppiamo abbia errori, sia esso php, javascript o il linguaggio che usiamo.
È importante controllare le variabili e quali dati inseriscono.
Cambia l'estensione del file
Puoi cambiare l'estensione quando invochi ed esegui gli script in php, in file con estensione html.
Nel file di configurazione di apache (httpd.conf)
Cerchiamo la linea:
Applicazione AddType / x-httpd-php
E aggiungiamo .htm e .html alla fine, sarebbe il seguente:
Applicazione AddType / x-httpd-php .htm .html
Possiamo anche creare un'estensione personalizzata per nascondere il tipo di file al visitatore
Applicazione AddType / x-httpd-php .bo .sol .tfQuesto è molto utile per motivi di sicurezza. Nascondiamo che l'applicazione è programmata perché nel browser vedrai semplicemente .html o l'estensione personalizzata negli script che in realtà sono php. Molti siti web utilizzano questo metodo.
Verifica che register_globals sia inattivo
Disabilita register_globals e non consentire la creazione di variabili al volo, tra l'altro con:
register_globals = Off
Da php.ini questo costringe a dichiarare tutte le variabili o darà un errore.
Disabilita gli URL remoti per le funzioni che gestiscono i file
Questo serve affinché un file sul nostro server non possa essere eseguito o accessibile da un altro, nel php.ini disattiviamo allow_url_fopen
allow_url_fopen = Disattivato
Limita in quale directory PHP può leggere o eseguire qualsiasi script o processo
open_basedir = /var/www/htdocs/midomino.com
Ogni dominio può modificare il proprio php.ini se l'amministratore del server lo consente, sebbene ciò sia raro.
Disattiva Apache HTTP TRACE
HTTP TRACE viene utilizzato per restituire il risultato della richiesta effettuata al server.
Può essere utilizzato per Cross Site Scripting o attacchi XSS, quindi è meglio disabilitarlo per motivi di sicurezza.
Modifichiamo in / etc /httpd/conf/httpd.conf
TraceEnable disattivato
Apache è uno dei server web più utilizzati e php è il linguaggio più utilizzato per lo sviluppo web, con queste configurazioni e strumenti possiamo aiutare a rafforzare la sicurezza del nostro web contro possibili attacchi.