Visualizzazione risultati 1 fino 4 di 4

Discussione: Aree riservate e gestione utenti

  1. #1
    repartomn3 non è connesso Neofita
    Data registrazione
    09-03-2017
    Messaggi
    3

    Question Aree riservate e gestione utenti

    Ciao a tutti,
    sto realizzando un sito per il mio gruppo scout (lo dico per introdurre il fatto che sono tutti imbranati in tecnologie informatiche, quindi devo lasciare qualcosa - anche per quando non ci sarò più - di intuitivo e moooolto semplice da usare).
    Abbiamo inserito 1 solo CMS (ZenPhoto) per gestire un album fotografico. Questo CMS ha una tabella nel database legata agli utenti che abbiamo deciso di sfruttare.
    Per questo motivo abbiamo creato una pagina di registrazione in PHP esterna a ZP poiché nel cms risultava molto più difficile creare gli utenti. La pagina si collega al database (nella tabella del cms) e inserisce gli utenti.
    Già qui avrei alcune richieste.. Siccome la registrazione verrà effettuata dai capi scout (per permettere l'accesso solo ad utenti autorizzati) devo renderla il più veloce possibile... Devo richiedere i campi Nome, Username, Email, Gruppo e Password. A questo punto vi chiedo:
    è possibile far sì che il campo email si inserisca automaticamente username@dominio.dominio (dove username è dinamico e corrisponde al campo prima, mentre @dominio.dominio è statico e rimane sempre uguale - ovviamente la mail non esiste, ma il cms la richiede obbligatoriamente per autorizzare l'utente ad accedere, quindi inseriamo una mail fasulla che poi essi potranno modificare)?
    è possibile generare automaticamente una password di una lunghezza stabilita?
    Poi, nel sito sono presenti anche alcune aree riservate.. Una è l'area documenti (ho già il form per il caricamento dal sito, per l'eliminazione useremo l'hosting, almeno per ora) cui devono poter accedere tutti i gruppi (nel mio caso le 6 squadriglie, i capi e gli amministratori - non i genitori o comunque un visitatore), mentre le altre sono aree riservate ai soli amministratori.
    Per fare ciò mi serve che il login sia collegato alla medesima tabella del database e che possa autenticare solo gli utenti attivi e appartenenti al gruppo indicato. Adesso per proteggere queste pagine ho messo gli .htaccess ma, a quanto ne so, non sono collegabili al database (se invece mi sbaglio ditemelo!).
    La cosa più comoda, per me, sarebbe avere il login esattamente com'è adesso con gli .htaccess (il popup che altrimenti non fa visualizzare la pagina).

    Passiamo a quella che, credo, sia l'ultima cosa: la gestione degli utenti.
    Per la gestione dei documenti posso anche affidarmi all'hosting, essendo comunque abbastanza intuitivo..
    Ma per la gestione degli utenti non posso chiedere che passino per il database, perché sicuramente non sarebbe pratico per loro, e rischierebbero di combinare dei disastri, e la gestione delle utenze tramite il cms è abbastanza confusionaria.. Quindi pensavo a una pagina in cui, per lo meno, siano visualizzabili tutti gli utenti (nella tabella sono salvati anche i gruppi che servono al cms, e questi hanno come valore di validità 0, mentre le utenze con id/user/pass/email/... hanno valore di validità 1, quindi mi servirebbe che gli utenti vengano selezionati solo se attivi (valore di validità 1) e, se possibile, li vorrei avere divisi nei vari gruppi che dicevo prima (le 6 squadriglie, capi e genitori), se non fosse possibile va bene una pagina unica in cui visualizzarli, ma con una casella di ricerca per trovare velocemente chi sto cercando. Poi ho necessità di visualizzare per ogni utente il nome, lo username, il gruppo (se non divisi nei gruppi), la mail e la password di default. Spiego quest'ultimo punto..
    Siccome le utenze vengono create dagli amministratori (e qui entrerebbe in gioco la cosa della password automatica che dicevamo), questi devono poi comunicare agli interessati le credenziali. Siccome, sempre per un discorso di praticità e rapidità non è pensabile segnarsi le password di tutti, dovrei visualizzare la password della registrazione. E qui nascono i problemi.. Nel senso che questa è l'unica cosa delle tre che sono riuscito, seppur in parte, a fare. Ho trovato uno script PHP che richiamasse il database e stampasse a video solo gli utenti validi (la cosa del gruppo non sono riuscito a farla) mettendo
    Codice PHP:
    SELECT * FROM tabella WHERE valid='1'
    e inserendo poi la tabella HTML che veniva popolata. Il problema, se così vogliamo chiamarlo, è che nel database ho le password criptate in MD5.. Per questo mi esce a video l'hash della password di cui mi faccio ben poco. Io non voglio assolutamente conoscere la password degli utenti, anche per motivi di privacy e sicurezza, ma pretendo di sapere la password di default assegnata per potergliela comunicare... Avendo gli utenti divisi per gruppi, potrei stampare la pagina con le password di default di ognuno e consegnarle al capo squadriglia (sostanzialmente il coordinatore delle squadriglie, ovvero dei gruppetti all'interno del gruppo scout).
    Se non si riuscisse a visualizzare la password di default nella pagina di gestione utenti vorrei almeno che potesse arrivare via mail a una mail uguale per tutte le utenze (una mail del gruppo appositamente creata), così che sia possibile stampare le varie mail (che nell'oggetto segnaleranno anche lo username per un facile riconoscimento).
    Altre funzionalità che sarebbero molto utili all'interno della gestione utenti sarebbero quelle per:
    generare una nuova password agli utenti (e anche qui, o spedirla via mail o salvarla nella pagina - sarebbe utile nel caso in cui un utente dimenticasse la password, così se ne genera una nuova);
    modificare l'utente (o meglio, siccome nome e username rimarranno uguali, la mail sarà modificabile dall'utente a suo piacimento dal cms in quanto egli può gestire solo il suo profilo e non tutti e 40, e la password sarà modificabile da lui nel cms e da noi con il genera nuova password - nel caso - l'utilità sarebbe nel modificare i gruppi, poiché non è scontato che per tutti gli anni si rimanga nella stessa squadriglia, è anche possibile che essa venga cambiata);
    eliminare l'utente (o renderlo, per lo meno, inattivo, in modo che non possa visualizzare le foto o i documenti riservati una volta uscito dal gruppo).
    Dovrebbe essere tutto..
    Ah, dimenticavo di dirvi che ho già provato con alcuni script e quant'altro a fare quanto ho detto sopra, ma non ho prodotto risultati, probabilmente sono altamente incapace XD

    Ringrazio anticipatamente chi vorrà aiutarmi (sempre se c'è qualcuno disposto a farlo!)

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    è possibile far sì che il campo email si inserisca automaticamente username@dominio.dominio (dove username è dinamico e corrisponde al campo prima, mentre @dominio.dominio è statico e rimane sempre uguale - ovviamente la mail non esiste, ma il cms la richiede obbligatoriamente per autorizzare l'utente ad accedere, quindi inseriamo una mail fasulla che poi essi potranno modificare)?
    in PHP, è una semplice concatenazione:
    Codice PHP:
    $email = $_POST['username'].'@dominio.tld'

    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    è possibile generare automaticamente una password di una lunghezza stabilita?
    Anche qui, tramite PHP si fa tutto. Immagino ci siano funzioni già fatte che si trovano facilmente su google. Se non le trovi rifammi sapere che te la scrivo io.


    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Poi, nel sito sono presenti anche alcune aree riservate.. Una è l'area documenti (ho già il form per il caricamento dal sito, per l'eliminazione useremo l'hosting, almeno per ora) cui devono poter accedere tutti i gruppi (nel mio caso le 6 squadriglie, i capi e gli amministratori - non i genitori o comunque un visitatore), mentre le altre sono aree riservate ai soli amministratori.
    Per fare ciò mi serve che il login sia collegato alla medesima tabella del database e che possa autenticare solo gli utenti attivi e appartenenti al gruppo indicato. Adesso per proteggere queste pagine ho messo gli .htaccess ma, a quanto ne so, non sono collegabili al database (se invece mi sbaglio ditemelo!).
    La cosa più comoda, per me, sarebbe avere il login esattamente com'è adesso con gli .htaccess (il popup che altrimenti non fa visualizzare la pagina).
    Le immagini devi leggerle da PHP e proteggere la directory con htaccess. Quindi da PHP controlli se l'utente loggato può visualizzare l'immagine. Tutta la parte login non farla in htaccess ma in PHP, perché htaccess non può fare operazioni avanzate come richieste al database.




    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Il problema, se così vogliamo chiamarlo, è che nel database ho le password criptate in MD5.. Per questo mi esce a video l'hash della password di cui mi faccio ben poco. Io non voglio assolutamente conoscere la password degli utenti, anche per motivi di privacy e sicurezza, ma pretendo di sapere la password di default assegnata per potergliela comunicare... Avendo gli utenti divisi per gruppi, potrei stampare la pagina con le password di default di ognuno e consegnarle al capo squadriglia (sostanzialmente il coordinatore delle squadriglie, ovvero dei gruppetti all'interno del gruppo scout).
    Se non si riuscisse a visualizzare la password di default nella pagina di gestione utenti vorrei almeno che potesse arrivare via mail a una mail uguale per tutte le utenze (una mail del gruppo appositamente creata), così che sia possibile stampare le varie mail (che nell'oggetto segnaleranno anche lo username per un facile riconoscimento).
    Io farei come nei sistemi login "normali", ovvero generi una stringa casuale e la usi come prima password. Poi la comunichi tramite email e/o la mostri a video.

    Quello che richiedi non è una cosa immediata. Tempo fa avevo fatto uno script di login ma con il passare degli anni è diventato molto obsoleto. Però volendo puoi guardare come avevo implementato il tutto. Vedi qui.

    Tieni presente che per fare una cosa simile non è difficilissimo ma richiede conoscenze di PHP. Se non le hai dovresti o cambiare cms (wordress?) oppure chiedere a qualcuno di fartelo. Qui sul forum possiamo aiutarti ma non possiamo sostituirci a chi lo fa di mestiere: per piccole cose non c'è problema, ma non possiamo fornirti un sistema del genere già fatto.

    Ciao!

  3. #3
    repartomn3 non è connesso Neofita
    Data registrazione
    09-03-2017
    Messaggi
    3

    Predefinito

    Innanzi tutto ti ringrazio per avermi risposto!
    Per la cosa della mail credo di aver capito cosa avevo sbagliato, provo e ti faccio sapere!

    Per la password ho trovato cose sia in JS che in PHP, ne ho provate alcune di entrambi i tipi, ma il campo della password (che era diventato di tipo testo siccome la password era generata e volevo vederla), o non si compilava o spariva...

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Le immagini devi leggerle da PHP e proteggere la directory con htaccess. Quindi da PHP controlli se l'utente loggato può visualizzare l'immagine. Tutta la parte login non farla in htaccess ma in PHP, perché htaccess non può fare operazioni avanzate come richieste al database.
    Questa cosa invece non l'ho molto capita (Se non si fosse capito io di php so poco e niente, avendo iniziato a studiacchiare programmazione web da html e css, e adesso mi sto approcciando a questo linguaggio utilissimo - per questo chiedo aiuto qui, perché anche con un altro amico non riusciamo a saltar fuori su questi punti, soprattutto perché lui lavora molto e non ha tempo di spiegarmi e lavorarci)

    Per il login "normali": la mail che inserisco è fasulla, poiché non conosciamo le email di tutti e anche perché non è effettivamente obbligatorio averne una, quindi, pensavo di creare una casella mail apposta per ricevere tutte le credenziali degli utenti, inserendo nell'oggetto il nome della persona, così da riconoscerle facilmente..
    Mi chiedevo: per inviare via mail i dati devo recuperare l'azione del form html, ed inserire in quel file anche tutte le configurazioni per inviare per mail gli stessi dati che andranno inseriti nel database (non criptati, altrimenti è un casotto)?

    Lo script l'ho sbirciato, ma non ho trovato dove posso modificare la tabella e le colonne che deve controllare (perché la tabella e le colonne esistono già).

    Ad ogni modo so che non è una cosa così semplice, ma credo che componendola di tante piccole cose (anche già pronte o quasi) possa uscire il risultato aspettato senza troppo sforzo. Il problema è che, più che altro, non ho la più pallida idea di cosa prendere e come adattarlo, perché (almeno in PHP) non ho ancora l'occhio per accorgermi di cosa-fa-cosa immediatamente.
    Il mio problema con i CMS è che non ho la minima possibilità di realizzare quello che voglio come lo voglio.. Per questo ho inserito ZenPhoto per la gestione di una galleria immagini (per il semplice motivo che quella sarebbe stata troppo complicata da gestire), e partendo da quello ho iniziato a svilupparvi il sito intorno, la registrazione la faccio da una pagina del sito esterna al CMS (perché chiedo quello che mi pare come mi pare, e la grafica è molto più semplice, veloce ed intuitiva) collegandolo alla sua tabella nel database, e per l'accesso voglio fare la medesima cosa.. Non mi serve la registrazione degli utenti (che ho già), ma "solo" uno script (o funzione, o come si chiama ) che controlli se l'utente ha effettuato il login, o che viceversa glielo faccia fare.
    Ho necessità di inserire la cosa del login ed ultimare quella della registrazione il prima possibile, per questo mi sono rivolto a voi, che di sicuro ne sapete più di me!
    Per quanto riguarda la gestione degli utenti ho ancora tempo per svilupparla, per ora ho comunque un file per la stampa a video della tabella.

    Grazie ancora, e aspetto le spiegazioni di quella frase!

    Ciao!

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Per la password ho trovato cose sia in JS che in PHP, ne ho provate alcune di entrambi i tipi, ma il campo della password (che era diventato di tipo testo siccome la password era generata e volevo vederla), o non si compilava o spariva...
    Non utilizzare il javascript. Usa soltanto PHP.


    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Questa cosa invece non l'ho molto capita
    Tu ora come ora da quel che ho capito hai utilizzato .htpasswd. Ma con htpasswd non puoi gestire gli utenti lato PHP, e lui non può effettuare il login andando a leggere i dati nel database, essendo un file di testo. Quindi le immagini "delicate" devi comunque proteggerlecon .htaccess dall'accesso di chiunque. Poi fai un file php che legge le immagini e le mostra solo se l'utente è loggato. Capisco però che per uno alle prime armi non è una cosa semplice da capire. È un po' avanzata perché ci sono di mezzo tante cose.

    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Mi chiedevo: per inviare via mail i dati devo recuperare l'azione del form html
    Quando l'utente invia i dati, prima effettui i vari controlli (utente già esistente, email corretta, ...) e se l'inserimento nel database va a buon fine invii la email.

    Citazione Originalmente inviato da repartomn3 Visualizza messaggio
    Ad ogni modo so che non è una cosa così semplice, ma credo che componendola di tante piccole cose (anche già pronte o quasi) possa uscire il risultato aspettato senza troppo sforzo.
    Secondo me ti complichi la vita: magari uno script utilizza un certo paradigma e un altro uno differente (ad esempio PDO invece di mysqli,...).

    Ciao!
    Ultima modifica di alemoppo : 04-12-2017 alle ore 02.43.17

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •