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

    Richiesta consigli su protezione di file da accesso esterno (sicurezza privacy)

    Buongiorno, salvo in un file X ed in un file Y, con PHP le informazioni separate di utente e password(E' consigliato?)
    Inoltre cambiando le proprietà con codice 700 sono ancora accessibili da link. Come proteggerli?
    Ultima modifica di jabjoint; 18-09-2020 a 13:14
    jabjoint

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    Username e password dovrebbero andare in un database e la password codificata, non in chiaro, così se anche qualcuno dovesse leggerla non gli sarebbe utile.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Username e password dovrebbero andare in un database e la password codificata, non in chiaro, così se anche qualcuno dovesse leggerla non gli sarebbe utile.
    Grazie, non capisco perché è necessario DB? Ho pensato di dividere i file in modo da rendere più difficile l'accesso che invece in fase di lettura tramite algoritmo a me risulta semplificato. Per la codifica non posso creare un algoritmo personale che la cripti? E cripti anche username?

    "Inoltre cambiando le proprietà con codice 700 sono ancora accessibili da link"

    Ho risolto con codice 600. E' corretto?
    Ultima modifica di jabjoint; 18-09-2020 a 13:15
    jabjoint

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Grazie, non capisco perché è necessario DB?
    Perché è molto più sicuro richiedendo delle credenziali per accedervi e non essendo generalmente raggiungibile dal di fuori del dominio a cui è associato, salvo consentirlo volutamente.

    Ho pensato di dividere i file in modo da rendere più difficile l'accesso che invece in fase di lettura tramite algoritmo a me risulta semplificato.
    Se uno riesce ad accedere ad un file, che difficoltà dovrebbe avere a fare la stessa cosa per accedere anche all'altro?

    Per la codifica non posso creare un algoritmo personale che la cripti? E cripti anche username?
    L'username non va criptato, perché l'algoritmo di criptaggio in questi casi NON deve essere reversibile e nella tua applicazione l'username potrebbe servirti ed essere utilizzabile in chiaro.
    Partendo dal dato criptato NON deve essere possibile risalire a quello in chiaro.
    In fase di login l'utente inserisce i dati in chiaro, poi lato server devi passare la password che arriva all'algoritmo di criptaggio e verificare la corrispondenza tra il risultato di questo e ciò che hai nel db.

    "Inoltre cambiando le proprietà con codice 700 sono ancora accessibili da link"

    Ho risolto con codice 600. E' corretto?
    Dipende da come stai facendo le prove di accesso al file.
    Ad esempio se lo fai da uno script che si trova sul server, con 600 hai comunque accesso in lettura.

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio

    1) Perché è molto più sicuro richiedendo delle credenziali per accedervi e non essendo generalmente raggiungibile dal di fuori del dominio a cui è associato, salvo consentirlo volutamente.


    2) Se uno riesce ad accedere ad un file, che difficoltà dovrebbe avere a fare la stessa cosa per accedere anche all'altro?


    3)
    L'username non va criptato, perché l'algoritmo di criptaggio in questi casi NON deve essere reversibile e nella tua applicazione l'username potrebbe servirti ed essere utilizzabile in chiaro.
    Partendo dal dato criptato NON deve essere possibile risalire a quello in chiaro.
    In fase di login l'utente inserisce i dati in chiaro, poi lato server devi passare la password che arriva all'algoritmo di criptaggio e verificare la corrispondenza tra il risultato di questo e ciò che hai nel db.


    4) Dipende da come stai facendo le prove di accesso al file.
    Ad esempio se lo fai da uno script che si trova sul server, con 600 hai comunque accesso in lettura.
    Rispondo:

    1)
    OK: Bé allora potrei sempre creare un dominio di scorta, in cui accedo ai due file contenenti username e password senza db..., ed inoltre potrei richiedere una password per accedere ai file? (Tipo file .zip?)

    2) Se riesce ad accedere alle username deve andare a prendere comunque l'altro(password) che non si trova nella stessa cartella o addirittura, in modo più sicuro in un altro dominio(come tu ben mi hai suggerito), inoltre se criptato ed il file richiede password d'accesso e l'ordine in riga è differente come riesce ad associarlo facilmente?

    3) Ok, per l'username che magari richiederebbe un prolungamento temporale dell'accesso nel criptarlo/decriptarlo. Ma come può la password essere criptata irreversibilmente? Se cosi' fosse come riuscirei a rileggerla in fase di confronto con quella immessa dall'utente? Non capisco, spiegami...se puoi, grazie.

    4) Eh si, ma se non consento l'accesso in lettura come riesco a confrontarle? L'unica è piazzare una password che modifica l'accesso in lettura quando occorre...?
    jabjoint

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    1) 2) ma che ahi contro i db? Con la soluzione che proponi ti incasini in modo incredibile, se non sai come si usa un db ti conviene imparare. Con un db è veramente una stupidata avere un sistema molto, molto, molto (ho già detto molto?) più sicuro e semplice di quello che stai progettando tu.

    3)
    In fase di registrazione l'utente inserisce
    username: pippo
    password: ciccio

    lo script per la registrazione prende questi dati, nel campo username salva "pippo", nel campo password salva, ad esempio,
    sha1('ciccio') che restituisce
    6d7cd9bbccbe9a319b85da5634b4e4117727e6f0

    In fase di login l'utente inserisce
    username: pippo
    password: ciccio

    lo script prende i due dati e per la password fa
    Codice PHP:
    // non proprio così, ma per capirci come funziona

    // dove $_POST['password'] è ciò che ha inserito l'utente nel form di login, quindi ciccio
    // $password_salvata è la password che hai salvato nel sistema in fase di registrazione, quindi
    // 6d7cd9bbccbe9a319b85da5634b4e4117727e6f0 
    if ( sha1($_POST['password']) == $password_salvata )
    {
        
    // la password è corretta
    }
    else
    {
        
    // la password è sbagliata

    Ultima modifica di Alhazred; 18-09-2020 a 17:32

  7. #7
    Perfetto, ecco illuminata la mia ignoranza , grazie.
    Si in effetti devo impararne l'uso, hai ragione mi sa che mi conviene, mi semplifica molto.
    Sto pensando di usare SQLLite, consigli?
    jabjoint

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    Sì, ti conviene perché usare un db su applicazioni web è veramente importante.
    Di solito si usa MySQL (MariaDB che è la versione gratuita), ma anche SQLLite può andare bene.
    La cosa fondamentale è che per l'iterfacciamento e l'uso dei db impari ad usare PDO.

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    La cosa fondamentale è che per l'iterfacciamento e l'uso dei db impari ad usare PDO.
    Grazie per consigli.
    jabjoint

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