78 messaggi dal 19 marzo 2003
Hola a tutti :)

devo creare una mini applicazione in asp per la gestione dei tornei di un sito di una sala biliardo, solamente che qui in svizzera dove abito l'hosting con supporto ASP costa na cifra (ti spellano vivo). Allora la mia scelta é caduta su un hosting di tipo normale (a pagamento), e per le pagine di programmazione uso un host gratis ( www.teenforfun.net ).

Ora, come tutti ben sappiamo gli host gratis non ti mettono a disposizione un DSN, e quindi i db possono essere downloadati e sbirciati da chiunque abbia un livello medio di conoscenza informatica.

(Tutta sta spatafiata per dire cosa... ?!?!?)

Se imposto una password ad un db access 2000, poi da asp come posso accedere a quel db protetto??? Come mi loggo al db???

Thx per un help :)

____
Ciao :)
78 messaggi dal 19 marzo 2003
Ho trovato da solo il modo, se a qualcuno può interessare si fa così:

strConn = "Provider = Microsoft.JET.OLEDB.4.0; Data Source = "& server.mappath("tornei.mdb") & "; Jet OLEDB:Database Password=" & strPassword

dove in strPassword si mette la pass di accesso al db, solo che per non metterla in chiaro, ho pensato di metterla uguale alla pass di login dell'unico utente presente nel mio db (nella tabella utenti).

Ora però ci sta un altro problema, non riesco a gestire la cosa in caso l'utente metta nome utente o pass errate. Vi posto il codice:

___

Dim objConn, strConn, strSql, objRS, strUsername, strPassword, bolUser, bolPass, Loggato, Password

strUsername = Request.Form("Username")
strPassword = Request.Form("Password")
bolUser = False
bolPass = False
Session ("Password") = strPassword

Set objConn = Server.CreateObject("ADODB.Connection")

strConn = "Provider = Microsoft.JET.OLEDB.4.0; Data Source = "& server.mappath("tornei.mdb") & "; Jet OLEDB:Database Password=" & strPassword
objConn.Open strConn

strSql = "SELECT * FROM utenti"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.open strSql, objConn, 1, 3

Do While Not (objRS.EOF OR bolUser = True AND bolPass = True)
If (StrComp(objRS("Username"), strUsername, vbTextCompare) = 0) Then
bolUser = True
If (StrComp(objRS("password"), strPassword, vbTextCompare) = 0) Then
bolPass = True
If ( bolUser = True AND bolPass = True ) Then
Session ("Loggato") = "si"
Response.Redirect ("admin-tornei.asp")
End If
End if
End If
objRS.Movenext
Loop

Response.Redirect ("form.htm")

___

Come posso gestire questa situazione???
Thx pe run help.

____
Ciao :)
78 messaggi dal 19 marzo 2003
up!!!

help pf

____
Ciao :)
2.907 messaggi dal 15 maggio 2001
Contributi
Ma scusa, perchè non scrivi semplicemente :

if objRS.EOF then
'qui sono errati
else
'qui esegui il codice che vuoi
end if

78 messaggi dal 19 marzo 2003
rome ha scritto:
Ma scusa, perchè non scrivi semplicemente :

if objRS.EOF then
'qui sono errati
else
'qui esegui il codice che vuoi
end if



No, forse mi sono spiegato male... il problema é nel fatto che la pass di accesso al database é la stessa che serve al solo utente presente nel mio db per loggarsi (Admin); ora se l'utente sbaglia i dati per il login, non avviene neanche la connessione al database e appare un errore come questo ovviamente:
___
Tipo di errore:
Microsoft JET Database Engine (0x80040E4D)
Password non valida.
___

È un problema un po strano, magari ci sono altre modalità per fare la stessa cosa, ma é l'unica che mi é venuta in mente e spero di averlo spiegato meglio sta volta.

Qualcuno ha una soluzione??? :(

____
Ciao :)
11.886 messaggi dal 09 febbraio 2002
Contributi
>> i db possono essere downloadati e sbirciati da chiunque abbia un livello medio di conoscenza informatica.

non è proprio così... innanzitutto uno dovrebbe conoscere l'url esatto del tuo database. Se gli dai un nome come:
fdklsjdgflkasdjgfasdfklasjgdskl359usfdhfasdjghsd.mdb

sfido qualcuno ad indovinarlo soltanto procedendo per tentativi.
Detto questo, esiste un metodo apposito per impedire il download di file: ti basta mettere il tuo mdb in una cartella SENZA DIRITTI di LETTURA.
Il tuo script potrà comunque accedere alla fonte dati, ma nessuno riuscirà a scaricarsi fisicamente il file, riceverà un errore: "browsing non consentito" o qualcosa del genere...
Quindi chiedi al tuo provider se ti da una cartella così fatta, oppure, se hai le estensioni di frontpage installate, puoi fare click col tasto destro su una cartella e TOGLIERE LA SPUNTA da "allow files to be browsed" (non so quale sia il corrispettivo in italiano... "consenti browsing dei file").

l'altro problema:
>> dove in strPassword si mette la pass di accesso al db, solo che per non metterla in chiaro

anche qui... non devi preoccuparti chi può sbirciare la password è solo il tuo provider... ma non credo che si metta a curiosare tra le robe dei clienti. Comunque, per avere una maggiore sicurezza che la tua password non venga letta, devi usare un file .UDL (datalink)
Questa è una cosa interessante che ho scoperto solo da poco grazie a un mio amico, DAXweb.

Allora, concentrazione:
Prima fai una prova in locale seguendo questi passi:
- crea un nuovo file di testo vuoto nella stessa cartella in cui si trova il db e rinomina il .TXT in .UDL
- fai doppioclick sul file
- ti si apre la finestra "proprietà di datalink"
- riempi i campi (sono autodescrittivi) con tutte le informazioni di connessione compresa la password (che poi verrà criptata). Su provider mettici oledb 4.0
- a questo punto nella pagina asp, anzichè aprire la connessione con la solita stringa, ci metti:
cn.Open "FILE NAME=" & Server.MapPath("file.udl")

ovviamente all'interno di server.mappath ci devi mettere il percorso relativo al file udl. Per come ho scritto io la pagina asp, il database e il file udl si trovano tutti nella stessa cartella.
Prova, caiooo




Modificato da BrightSoul il 26 marzo 2003 01.25 -

Modificato da BrightSoul il 26 marzo 2003 01.26 -

Enjoy learning and just keep making
78 messaggi dal 19 marzo 2003
Ciao bright e grazie per l'help, ora é un po tardi, proverò domani, ma ti devo contraddire su alcune cose... é molto semplice trovare l'utl di un db anche se gli metti come nome asjkdgajkdgakdgkagdakgsdakd.mdb; e cioé scarichi una pagina asp del sito desiderato che sai che fa una connessione al database con un qualsiasi download manager, la apri e trovi il link al db e lo scarichi... questo ovviamente se il sito in questione non usa un dsn... cmq é molto interessante la soluzione che mi hai proposto... la testo e ti faccio sapere. :)

Ciau e thx ankora :)

____
Ciao :)
11.886 messaggi dal 09 febbraio 2002
Contributi
>> cioé scarichi una pagina asp del sito desiderato che sai che fa una connessione al database con un qualsiasi download manager,

mah... veramente no. Tu prova a scaricare una pagina asp con Gozilla e quello che ti ritrovi è l'output generato, NON il codice sorgente. (Se fosse così addio sicurezza).
A meno che non hai messo i dati della connessione in un file .inc e allora quello lo vedi così com'è. Quando includi i file con la direttiva #include, dagli sempre estensioni .asp in modo che se anche te li scaricano, non potranno vedere un bel niente del tuo codice. Ciao

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.