Newsgroup: it.comp.www.asp
Titolo: Domanda su file inclusione e... malintenzionati ;)

Saluti a tutti!
Ho un server "molto trafficato". In tutte le pagine ASP che compongono 
il sito web che ho sviluppato richiamo un file di inclusione contenente 
solo le istruzioni per la connessione al database:
<%
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={MySQL}; Server=xxx.xxx.xxx.xxxx; Port=3306; 
Database=nomedb; Uid=nomeutente; Pwd=password;"
%>
Ora, se per qualsiasi motivo (es.: non raggiungibilità della base dati, 
in quanto collocata su un altro server), i visitatori, durante la 
"navigazione" all'interno del mio sito web, si vedessero comparire un 
errore facente riferimento al file di inclusione contenente le righe di 
cui sopra, qualche "malintenzionato" potrebbe richiamare 
successivamente, in modo ripetitivo, il file di inclusione in modo da 
aprire centinaia di connessioni con lo scopo di mandare in crisi il server?
Non so se mi sono spiegato chiaramente...
Grazie in anticipo.
Lorenzo.

 server?
per questo andrebbero sempre usati include con ext .asp
al limite se il server è tuo (ma anche se non lo è, puoi chiedere...) mappa 
.inc su aspdll.dll, così che venga comunque eseguito ed il contenuto non 
venga mostrato a video.
-- 
CIAO!.db
Daniele Bochicchio - Microsoft 
ASP.NET/.NET
 MVP
http://www.aspitalia.com/
 Enjoy the .NET community!
Longhorn, XAML, Avalon, WinForms, MSDE, Media Center
Windows Development Day - 28/01/2005 Bologna
http://www.dotnetcircle.it/bologna05.aspx
 

 venga mostrato a video.
Grazie per la risposta!
Sì io uso file include con estensione .asp quindi il problema della 
visualizzazione del codice (i.e. password in chiaro non si pone). Io 
avevo sollevato un problema di un altro tipo.
Se per qualche ragione l'include .asp va in errore, il visitatore vede 
il messaggio d'errore asp relativo a \nomefileinclude.asp.
Visto che tale file contiene le righe seguenti
<%
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={MySQL}; Server=xxx.xxx.xxx.xxxx; Port=3306; 
Database=nomedb; Uid=nomeutente; Pwd=password;"
%>
se un malintenzionato richiama dalla barra degli indirizzi del browser, 
ripetutamente (magari usando tool automatici) centinaia e centinaia di 
volte il file include non è che mi causa qualche problema sul server 
(non aprirebbe forse centinaia di connessioni che poi non vengono 
chiuse?...)
Grazie ancora!
Lorenzo.

 chiuse?...)
sě, e per questo motivo puoi verificare il path di esecuzione della 
richiesta e se contiene il nuovo del tuo include, non aprire la connessione 
;)
btw, un metodo decisamente migliore č non mostrare affatto l'errore 
all'utente, perchč qualcuno che ha intenzioni non proprio amichevoli 
potrebbe imparare dai tuoi errori.
ti basta personalizzare l'errore 500-100 di IIS per stare tranquillo.


 ti basta personalizzare l'errore 500-100 di IIS per stare tranquillo.
Grazie di cuore, Daniele :)
Ho risolto personalizzando l'errore 500;100 in IIS.
Solo una richiesta aggiuntiva per curiosità: quando hai scritto (nella 
prima soluzione proposta) <<... puoi verificare il path di esecuzione 
della richiesta e se contiene il nuovo del tuo include, non aprire la 
connessione ...>> in pratica alludi all'uso dell'istruzione 
Request.ServerVariables("HTTP_REFERER"))? Non è troppo "pesante" se 
l'include viene richiamato spessissimo?
Grazie ancora!
Lorenzo.

 l'include viene richiamato spessissimo?
no, intendevo ("URL"). e comunque è sì pesante, ma se non hai modo di 
personalizzare l'errore può aiutarti. un altro sistema, che però prevede la 
riscrittura delle pagine, è il controllo di una variabile che ovviamente 
dovrai impostare prima dell'include.
