Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-07-2008, 13:06   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[MySql]Come si gestisce una tabella user e password?

Ciao a tutti

Come da titolo, mi trovo in questa situazione:

Al db mysql in oggetto, devono poter accedere diversi utenti da diversi punti non intranet e con indirizzi ip che possono variare, escluderei quindi il GRANT.

Adesso, se volessi creare una tabella id, user, password all'interno del db, avrei queste domande:

1) E' fattibile?
2) Come si cripta il campo password?

Grazie.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 02-07-2008, 19:58   #2
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
1) E' fattibile?
Certamente. Un esempio potrebbe essere:
Codice:
CREATE TABLE login (
id INTEGER PRIMARY_KEY, user VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL
);
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
2) Come si cripta il campo password?
Le funzioni (sintassi MySQL) più utilizzate sono password() e md5(). In alternativa puoi usare le funzioni di encrypting del linguaggio di programmazione che si interfaccia con il DB.
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 07:07   #3
Xfight
Member
 
L'Avatar di Xfight
 
Iscritto dal: May 2006
Messaggi: 229
Spero di non andare OT, però può essere interessante :

dato che sia password(), sia md5(), sia sha1() sono one-way ( cripti e non puoi più recuperare la pass ), mi domandavo come fanno certi gestori a fare il classico form "dammi un po' di dati e ti diremo la pass".

Si dovrebbe utilizzare un algoritmo di criptazione a chiave oppure si tengono salvate le pass in chiaro da qualche altra parte ?

Argh, ho visto ora che ci sono le funzioni AES e DES.. ma allora non è meglio usare AES ? ( spero di non aver detto una caxxata ^^ )

Ciau
__________________
Una volta eliminato l'impossibile, quello che resta, per improbabile che sia, dev'essere la verità
http://timestop.netsons.org/ -> il blog sull'informatica
Xfight è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 10:37   #4
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Quote:
Originariamente inviato da Xfight Guarda i messaggi
dato che sia password(), sia md5(), sia sha1() sono one-way ( cripti e non puoi più recuperare la pass ), mi domandavo come fanno certi gestori a fare il classico form "dammi un po' di dati e ti diremo la pass".

Si dovrebbe utilizzare un algoritmo di criptazione a chiave oppure si tengono salvate le pass in chiaro da qualche altra parte ?
Generalmente viene memorizzata solo la versione criptata della password.
Quei gestori che forniscono una password se vengono inseriti alcuni dati corretti (solitamente la risposta ad una "domanda segreta"), in realtà forniscono una nuova password (a volte temporanea), modificando quella corrente dell'utente.
Poi sarà cura dell'utente stesso modificarla di nuovo (magari reinserendo quella precedentemente scelta).

Quote:
Originariamente inviato da Xfight Guarda i messaggi
Argh, ho visto ora che ci sono le funzioni AES e DES.. ma allora non è meglio usare AES ? ( spero di non aver detto una caxxata ^^ )
A meno di casi particolari è meglio non usare forme di crittografia reversibili, sia per una questione di sicurezza, sia per poter dare la garanzia all'utente che nessuno (nemmeno l'amministratore del DB) possa spacciarsi per lui.
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 14:23   #5
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Grazie per le risposte.

Non ho ancora capito però come funziona il tutto:

1)Creo il database

2)Non creo privilegi di nessun tipo

3)Creo la tabella con user e pass

....

Quando l'utente si collega, se non ha come prima cosa i privilegi a livello di grant, come fa a loggarsi su una tabella di un db dove non ha privilegi?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 14:32   #6
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Quando l'utente si collega, se non ha come prima cosa i privilegi a livello di grant, come fa a loggarsi su una tabella di un db dove non ha privilegi?
L'utente del DB che esegue le query sarà sempre lo stesso (di solito un utente apposito con il permesso di eseguire solo SELECT e, se serve, INSERT, UPDATE e/o DELETE).
Tramite questo utente (che solo l'amministratore conosce), esegui tutte le query necessarie; tra le quali anche la verifica del login per gli utenti finali.

Edit:
In pratica gli utenti finali saranno utenti dell'applicazione, non del DBMS.
__________________
Computers are like conditioned air: they work fine 'till you open windows.


Ultima modifica di thehuge : 03-07-2008 alle 14:33. Motivo: aggiunta chiarimento
thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 14:52   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da thehuge Guarda i messaggi
L'utente del DB che esegue le query sarà sempre lo stesso (di solito un utente apposito con il permesso di eseguire solo SELECT e, se serve, INSERT, UPDATE e/o DELETE).
Tramite questo utente (che solo l'amministratore conosce), esegui tutte le query necessarie; tra le quali anche la verifica del login per gli utenti finali.

Edit:
In pratica gli utenti finali saranno utenti dell'applicazione, non del DBMS.
ah.. ecco.. quindi quello che cercavo di fare è praticamente inutile.

Cioè:

Devo dare un grant (anche se ad un solo utente) senza restrizioni. Questo perchè l'utente non si collegherà sempre dalla stessa macchina, quindi, il suo ip può cambiare in qualunque momento..

Devo quindi fare:

Codice:
GRANT tipoPrivilegio ON mioDb.* to utente identified by 'password'
//senza quindi specificare l'host
Sinceramente.. non la trovo una cosa molto pratica se non una complicazione inutile garantire l'accesso a livello di applicazione e non di db. Un domani che cambio applicazione per accedere sempre allo stesso db, in pratica devo riscrivere il metodo di autenticazione in base al linguaggio scelto...

Non ci sono altre soluzioni?

Grazie mille

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 15:12   #8
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Devo dare un grant (anche se ad un solo utente) senza restrizioni. Questo perchè l'utente non si collegherà sempre dalla stessa macchina, quindi, il suo ip può cambiare in qualunque momento..
No. Anzi: dipende.

Se l'applicazione è eseguita da un server (PHP, Servlet Java, ASP, CGI, e molti altri) puoi tranquillamente permettere l'accesso solo dall'IP del server.

Altrimenti (Applet Java, JavaScript, e qualunque cosa venga eseguita dal client) è proprio così.

Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Sinceramente.. non la trovo una cosa molto pratica se non una complicazione inutile garantire l'accesso a livello di applicazione e non di db. Un domani che cambio applicazione per accedere sempre allo stesso db, in pratica devo riscrivere il metodo di autenticazione in base al linguaggio scelto...

Non ci sono altre soluzioni?
Certo. Puoi creare un utente del DBMS per ogni utente finale, però il problema resta lo stesso: non puoi restringerli a seconda dell'IP dell'utente.
In più si aggiunge almeno un problema: i permessi così creati valgono solo per il DB, non per la tua applicazione (se dovesse modificare i comportamenti a seconda dell'utente); quindi dovresti verificarli tramite il DB ad ogni azione da compiere.

Edit:
E comunque dovresti avere almeno un utente amministratore che si occupi della gestione degli utenti finali (con permessi di GRANT... non molto sicuri da esporre ad una applicazione).
__________________
Computers are like conditioned air: they work fine 'till you open windows.


Ultima modifica di thehuge : 03-07-2008 alle 15:14.
thehuge è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Disagi al traffico aereo europeo: le ind...
Intel in crisi chiama Apple: un riavvici...
Snapdragon X2 Elite Extreme, il cuore de...
Snapdragon 8 Elite Gen 5 è il nuovo rife...
Bombe Apple su Amazon: iPhone di scorsa ...
Micron: memoria HBM4 a 11 Gbps e patto d...
NVIDIA rende Audio2Face open source: ecc...
Logitech Signature Slim Solar K980+: 10 ...
Disney Plus aumenta i prezzi: si parte d...
Intel XeSS con Multi Frame Generation: u...
iPhone 16 a soli 700€ su Amazon: stile e...
Signature Slim Solar+ K980, la nuova tas...
Logitech MX Master 3S, il mouse perfetto...
Borderlands 4 per Switch 2 rinviato a te...
Reddit studia con Google una partnership...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v