Newsgroup: it.comp.www.php
Titolo: Firewall, www, database e php

Ciao a tutti,
In ditta abbiamo un firewall piuttosto massiccio, ma io me ne capisco poco.
Abbiamo un web server, e quello sta al di fuori del firewall; quindi anche
il PHP sta al di fuori. Il database, pero', sta al di dentro del firewall.
Come faccio a far accedere il PHP che e' fuori al database che e' dentro?
(Penso di aver sparato qualche c****ta, ma abbiate pazienza, l'ho detto che
non ne capisco).
Grazie in anticipo
Amedeo

 ha scritto nel messaggio
news:9m0bfg$br7vh$1...@ID-12545.news.dfncis.de...

Se intendi dire che il web server e il server dove c'è il database sono 2
macchine separate, una dentro e l'altra fuori il firewall, allora la cosa si
complica un po'...
Lasciando perdere un attimo il problema del dentro o fuori dal firewall, il
vero problema è un altro, e cioè il fatto che webserver+php siano su una
macchina separata da quella in cui c'è il database. Solitamente infatti il
webserver+php+database sono tutti sulla stessa macchina... sai perchè?
Perchè avendo tutto sulla stessa macchina l'integrazione del database con
php e webserver avviene via localhost, e cioè tutto sulla stessa macchina
come se fosse in locale. In questo modo, quando dovrai interrogare il
database con script php risulterà tutto più veloce e sicuro rispetto a un
database separato su un altra macchina.
Infatti, se noti, quasi tutti gli internet service provider non tengono
separati php e database.
Non è che non si puo fare in modo separato, anzi... , solo che solitamente è
preferibile di no...
Pero' forse se in ditta voi avete un buon firewall si puo' trovare una
soluzione... e a questo punto il problema non sarebbe la sicurezza ma la
velocità... dovreste fare un po' di prove per valutarne le prestazioni...
Non vi resta che provare :-)
Comuqnue, se la connessione al db è via localhost solitamente si fa così:
<?
mysql_connect("localhost","username","password");
?>
Altrimenti se è su un altro server:
<?
mysql_connect("ip_del_server","user","pass");
?>
Questo era un esempio con mysql :-)
Ciao
Alex

 Come faccio a far accedere il PHP che e' fuori al database che e' dentro?
Sei hai qualcuno che ne capisce di firewall, non è un casino: sul
firewall accetti tutti i pacchetti con source IP_DEL_WEBSERVER e (se 
hai policy di output parecchio rigide), lasci anche uscire i pacchetti
con source IP_DELLA_MACCHINA_CON_IL_DB diretti a IP_DEL_WEBSERVER.
Ovviamente, ci sono anche da vedere le porte su cui passa il traffico,
ma dipende suprattutto dal database (3306 mysql, 5432 postgres, ecc).
Poi, per la connessione, al posto del solito "localhost" ci metti
IP_DELLA_MACCHINA_CON_IL_DB e non dovresti avere problemi!
Ciao
--ev

 preferibile di no...
Noi lo usiamo e abbiamo un server mysql con 200 Db sopra che  utilizziamo
per i nostri siti e ti assicuro che funziona da dio.
--
Fabio Rapposelli
webdeveloper & jr. sysadmin
hi-net.it
 s.r.l. - Via Morgagni,2 - 47900 Rimini (RN)
Tel 
+39 0541 478040
 - Fax 
+39 0541 478032
h t t p : / / w w w . h i - n e t . i t

 per i nostri siti e ti assicuro che funziona da dio.
dipende quanto sono carichi i db e quanto sono interrogati :-)
Alex

 ha scritto nel messaggio news:kvj0m9...@127.0.0.1...

Si infatti, è la soluzione migliore...
Alex