Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [php] protezione accesso

    Salve a tutti.

    Premessa:
    Tempo addietro ho realizzato un gestionale in php e mysql.
    In questo gestionale c'è un login che crea una sessione e di conseguenza se uno non passa il login non visualizza le pagine protette. E fin qui tutto normale.

    Dopo qualche tempo si è verificata la necessita di usare il gestionale anche da una postazione remota. E' stata creata una connessione con ip statico, un firewall, un server linux dove "gira" il gestionale e ora ci si può collegare al gestionale sia in locale sia via internet.
    Tutto nella normalità. Se uno conosce l'indirizzo ip e ha i dati di login entra nel gestionale.

    Adesso viene la complicazione:
    Mi è stato chiesto di aggiungere delle pagine che siano consultabili da altre persone. Queste devono essere fornite comunque di login, ma non devono visualizzare tutto il gestionale ma solo una parte.
    Ho risolto questo problema dando dei permessi ai singoli utenti.

    IL PROBLEMA:
    Diciamo che un collaboratore lavora in locale con il gestionale: ha quindi i dati di login (chiamiamoli "locale" solo per capirci) per entrare nel sistema.
    Va a casa è si collega via internet inserendo i dati di login "locale" ed entra nel gestionale.
    Io vorrei poter impedire questo, ovvero che da un remoto non abilitato (potrei autorizzare solo ip statici tramite firewall?) non si possa usare i login "locali".

    Spero di essere stao chiaro (per la verità non credo) e, già in anticipo, ringrazio tutti coloro che dedicheranno il loro tempo a fornirmi qualche soluzione o idea o suggerimento.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    107
    le soluzioni potrebbero essere due:
    1-utilizzi dei permessi di accesso gestiti nel database...come hai detto di aver fatto...ma forse non sei riuscito ad ottimizzarlo
    2-utlizzi un javascript che legge gli indirizzi IP, li controlla, e permette gli accessi a chi è autorizzato...quindi doppio controllo...di indirizzi e di passw

  3. #3
    Grazie, ma:
    1) i permessi del DB sono vanifcati se io utilizzo il login di un altro (nel caso specifico non possono esserci due utenti uguali contemporaneamente ma se uno si collega di notte?)
    Io vorrei impedire l'utilizzo di login "locali" da remoto

    2) di java io conosco solo il ..... nome (purtroppo). Mi devo documentare e conto di farlo al più presto. Puoi darmi una dritta su codice da utilizzare?

    Grazie e ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    107
    http://www.javascript.it/scripts.php...cate=Sicurezza

    www.html.it/javascript/

    Comunque prova a riguardarti bene i permessi del database, cambia passw, oppure utilizza due database...perchè...(forse non ho capito bene il tuo problema)...secondo me si può fare con il solo utilizzo del database...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    107
    ...ora forse ho letto meglio!Tra i permessi che dai alle pagine fai un controllo nel quale un utente locale può collegarsi solo se l'indirizzo è locale, e un utente "visitatore" può collegarsi solo da ip remoti...

  6. #6
    Io ringrazio ma non riesco a capire come posso utilizzare solo il DB:
    allora la struttura (indico per semplicita) assomiglia a:
    nome, pass, abilita1, abilita2 dove abilita1 mostra tutte le pagine e abilita2 solo alcune

    diciamo che:
    pippo, 123, si, si
    pluto, 456, no, si

    se io che sono pluto (spero di no ma.....) utilizzo invece l'account di pippo....... vedo tutto.


    Forse non mi sono spiegato bene prima, ho forse non ho ottimizzato il DB ed in questo caso non sò come posso otimizzarlo.
    Aggiungo che un controllo che faccio al login e a tempo controlla che non ci siano due pippo o due pluto assieme.

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    107
    -prima di tutto gli account sono personali...quindi CAMBIARE PASSW
    -poi devi definire nel database nella tua tabella utenti il grado:amministratore, utente, programmatore, ecc...
    -ultima cosa da fare è mettere dei controlli nelle pagine per quanto riguarda il grado degli utenti...
    ...e così dovrebbe bastare!

    Se vuoi essere pignolo...il locale ha un indirizzo IP...UNIVOCO!!Associ nei controllo che se un utente (es. programmatore) si collega da locale entra...se lo fa da ogni altro remoto...NON CI RIESCE...

  8. #8
    OKKKKKK
    Bene, ho capito (forse).

    Indipendentemente da password associata (che tra le altre cose viene cambiata ogni tre mesi ed è, ovviamente, univoca per ogni id) l'unico controllo accettabile è sull'indirizzo IP.

    Io dicevo che se un utente locale ha il login può utilizzarlo anche da remoto.
    Controllando l'IP inabilito l'accesso da remoto. OK

    Ovviamente adesso devo assegnare un IP statico anche alla posizione remoto che voglio entri nel sistema, giusto?.

    Grazie ancora di tutto.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.