Ricorda che .php è in esecuzione nello stack di applicazioni PHP sul server. Potrebbe avere accesso a qualcosa di più di un semplice utente che naviga nel sito web.
Questi sono i miei suggerimenti (non un elenco completo) per PHP su Apache con accesso limitato al server. Spero che questo ti consenta di iniziare nella giusta direzione ...
Disattiva le chiamate al database
Quando leggi e scrivi su un database, disinfetti il tuo input soprattutto se stai richiedendo l'input da un utente. Inoltre, fai attenzione a creare istruzioni SQL al volo con l'input fornito dall'utente. Consentire un "o" o un numero qualsiasi di altri caratteri in input potrebbe consentire a un utente di iniettare i propri comandi per dire di interrogare la tabella utente. Se possibile, limita l'input dell'utente a-z, A-Z, 0-9 in quanto è generalmente sicuro.
Ecco le cose buone che dovresti sapere se vuoi scrivere PHP per il tuo sito web.
link
File .htaccess di Apache
Inoltre, puoi applicare alcuni buoni blocchi al tuo file .htaccess per impedire l'uso indesiderato o mancato dei tuoi file del sito web.
link
Dovresti limitare i permessi dei file a .htaccess erano possibili impostando qualcosa come 644 (rw-r - r--). Ma per un ulteriore livello inserisci anche quanto segue nel tuo file .htaccess per la root del tuo sito web.
# Prevent access to .htaccess from web.
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
Limita permessi
Limita le autorizzazioni a ciò di cui hai veramente bisogno. Ad esempio, se non hai bisogno di eseguire su php.ini, non concederlo (dovrebbe probabilmente essere impostato su 600). Se non sei sicuro, inizia con un basso livello di autorizzazione e fatti strada. Non ci vorrà molto per provare e ti risparmierai il mal di testa quest'ultimo.
Fai anche attenzione con l'esecuzione su file di immagine e file che ovviamente non dovrebbero essere eseguiti. Se qualcuno può utilizzare le immagini incorporate nelle tue pagine per eseguire il codice, lo faranno se le lasci fare.
Se è necessario l'accesso per scrivere una directory come i caricamenti, bloccare l'accesso ai file che non sono richiesti. Ad esempio, se si dispone di una directory di caricamento PDF o immagine, i file .php probabilmente non sarebbero necessari, quindi bloccateli.
<FilesMatch "\.(htaccess|ini|sh|php)$">
Order Allow,Deny
Deny from all
</FilesMatch>
Meglio ancora, blocca tutti i tipi di file tranne i file necessari.
Order Allow,Deny
Deny from all
<FilesMatch "\.(jpg|gif)$">
Order Deny,Allow
Allow from all
</FilesMatch>
Disabilita esplorazione directory
Se non richiesto disabilitarlo. Dare alle persone l'accesso per vedere quali file si possono dare loro informazioni per attaccare meglio. Puoi disabilitarlo tramite un file .htaccess nella directory specifc o nella root del tuo sito usando qualcosa di simile.
# Disable directory browsing
Options All -Indexes
Script e applicazioni di terze parti
Se usi script di terze parti, include o applicazioni nel tuo sito web assicurati che provengano da una fonte attendibile e tienili aggiornati. Iscriviti alle mailing list se necessario per essere sicuro di sapere quando uscirà un nuovo rilascio. Molti attacchi automatici contro l'applicazione web che utilizzano PHP e altri linguaggi di scripting utilizzano vulnerabilità ben note che sono state precedentemente corrette.