Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VB.Net] Possibile comunicare con un db online?

    Presumendo io abbia un www.sito.com e un database:
    db_name: Nome
    Table: Autorizzazioni

    e la tabella strutturata cosi:
    Utente: Primo
    Autorizzazione: 1
    Utente: Secondo
    Autorizzazione: 0

    Dove appunto 1 sta per "Consentito" e 0 per "Negato"

    Detto questo, è possibile far in modo che il programma comunichi col db?

    PS: Inutile dire che voglio creare una specie di sistema di login dove posso autorizzare l'esecuzione del programma solo a chi decido io

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Di quale programma parli? Un programma lato server (web) o lato client ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Client

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non puoi far dialogare un tuo programma in un client con un db in un server su internet.

    La quasi totalità di fornitori di servizi non ti consente di esporre il DB su internet.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    In teoria si può, in pratica no.
    In primis, praticamente ogni DB che ti forniscono assieme ad un dominio può essere visto solo dall'interno della rete del tuo hoster, sia per motivi di sicurezza, sia per motivi commerciali.
    In secondo luogo, normalmente ti viene fornito un solo utente, che ha tutti i permessi possibili sul DB, per cui se la tua applicazione lato client deve accedere al DB non puoi che farle usare questo account, e un utente abbastanza smaliziato non ha grossi problemi ad estrarre nome utente e password dal tuo eseguibile, guadagnando così l'accesso come amministratore al tuo DB.
    In questi casi la cosa più sensata è fare un qualche genere di web service (anche in senso lato): scrivi una pagina web nel linguaggio lato-server che preferisci che faccia da tramite, e il tuo programma comunica con essa; in questo modo eviti entrambi i problemi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Qualche servizio io l'ho trovato (anche free) anche in pratica, ma non se ne può parlare qui (almeno così ricordo), ma resta il fatto che, come già detto, hai comunque un solo utente per il db... a meno ché non ti gestisci un server virtuale o roba simile, allora ci fai quello che vuoi.
    la soluzione migliore resta comunque quella appunto menzionata dal moderatore, ovvero un web service. Inoltre puoi tranquillamente usare l'autenticazione di asp.net e/o il servizio direttamente senza passare attraverso pagine web con un "riferimento al servizio" di VS.

    ciao.

  7. #7
    In pratica quale sarebbe un buon metodo per gestire da remoto chi puoi utilizzare l'applicazione e chi no?
    Ad esempio io oggi distribuisco programma X e do 20 codici (seriali), posso domani scegliere di bloccare uno di questi seriali?

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da deamon75
    In pratica quale sarebbe un buon metodo per gestire da remoto chi puoi utilizzare l'applicazione e chi no?
    Ad esempio io oggi distribuisco programma X e do 20 codici (seriali), posso domani scegliere di bloccare uno di questi seriali?
    Te l'hanno appena spiegato.

  9. #9
    ma per rendere tutto più semplice potrei creare una pagine php es:
    www.sito.com/autentication.php
    e strutturarla:
    Nome:Pass
    Nome2:Pass2
    etc
    e tramite programma andare ogni volta a controllare i dati da questa pagina??

    Cosa devo studiare per connettermi ad una pagina php?

    PS: Ovviamente vorrei sapere se è possibile bloccare l'accesso a quella pagina da terzi..
    anche se credo di no in quanto anche bloccando la pagina tramite htaccess anche il programma non accederebbe ad essa

  10. #10
    No, quello che devi fare è scrivere una pagina che riceva (via richiesta POST) nome utente e un hash della password (mai memorizzare o trasmettere le password in chiaro! ), controlli nel DB se c'è una corrispondenza e in tal caso risponda che l'autenticazione è riuscita correttamente (nel codice della pagina poi metterai tutti i ritardi del caso per evitare che attacchi di tipo brute force).
    Va detto che è comunque uno schema relativamente facile da aggirare - basta fare un po' di sniffing ethernet, modificare il file hosts e mettere in piedi un serverino HTTP per aggirare il tutto, un sistema ben fatto richiederebbe quantomeno un po' di crittografia asimmetrica.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.