Domanda

Ho un server di produzione con apache2, php, mysql. Ho solo un sito in questo momento (mysite.com) come un host virtuale. Voglio mettere phpmyadmin, Webalizer, e forse webmin lì. Finora, ho installato phpmyadmin, e funziona, ma l'intera Internet può andare a mysite.com/phpmyadmin

Come posso ridurre la visibilità a dire 192.168.0.0/16 quindi è solo accessibile a macchine dietro il mio firewall?

È stato utile?

Soluzione

1) Si può fare a livello di server web.

Usa consentire / negare le regole per apache. Se non si dispone di accesso diretto al file di configurazione di Apache, è possibile utilizzare un file .htaccess.

<Directory /docroot>
    Order Deny,Allow
    Deny from all
    Allow from 10.1.2.3
</Directory>

2) Si può fare a livello di applicazione utilizzando il file di configurazione di phpMyAdmin.

Il parametro di configurazione è: $cfg['Servers'][$i]['AllowDeny']['rules']

Esempi di regole sono:

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24

Si può vedere questo sul documentazione ufficiale di configurazione di phpMyAdmin.

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

Altri suggerimenti

Si potrebbe utilizzare un modulo di Apache chiamato mod_access

È possibile configurarlo nel file di configurazione di Apache o all'interno di un file .htaccess nella root del directory.

Ecco un breve esempio

<Directory /your_folder/location>
    Order Deny,Allow
    Deny from all
   Allow from 123.123.123.123
</Directory>

Utilizza il direttiva (sia in configurazione del server o se è permesso, in .htaccess). Lì, è possibile utilizzare Allow from di negare l'accesso a tutti gli altri tranne qualche fonte certa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top