Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Primi esperimenti per login utenti
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • G
      greyfox User • ultima modifica di

      attento devi filtrare gli imput seno è automatica una sqlinjection!

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        @GreyFox said:

        attento devi filtrare gli imput seno è automatica una sqlinjection!

        ha scritto che per adesso tralasciava la sicurezza...

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • D
          drimmy User Attivo • ultima modifica di

          @GreyFox said:

          attento devi filtrare gli imput seno è automatica una sqlinjection!

          Adesso cerco di ottimizare anche la sicurezza, puoi spiegarmi meglio? grazie

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Per la sicurezza devi filtrare i simboli come ' e " che posso modificarti la query

            puoi usare la funzione addslashes per aggiugnere gli \ davanti a questi simboli e quindi evitare questi codici dannosi

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • D
              drimmy User Attivo • ultima modifica di

              puoi farmi un esempio? grazie

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                Link alla guida ufficiale del php:
                it2.php.net/addslashes

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • D
                  drimmy User Attivo • ultima modifica di

                  grazie appena ho tempo gli do un'occhiata! :ciauz:

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • G
                    greyfox User • ultima modifica di

                    attento fai anche un filtraggio per simboli come % < > ' " * e nella pagina stessa che interroga il db perche senno possono essere bypassati editando una richiesta http manualmente...inoltre per evitare proxy o spammer utilizza o le lettere delle immagini (come quella per registrarti qui) oppure un'applet in java che prenda l'ip privato del visitatore ...

                    un esempio di funzione per validare un campo puo essere:

                    [php]
                    function quote_smart($value)
                    {

                    if (get_magic_quotes_gpc()) {
                    $value = stripslashes($value);
                    }

                    if (!is_numeric($value)) {
                    $value = "'" . mysql_real_escape_string($value) . "'";
                    }
                    return $value;
                    }
                    [/php]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • D
                      drimmy User Attivo • ultima modifica di

                      @GreyFox said:

                      attento devi filtrare gli imput seno è automatica una sqlinjection!

                      Ho approfondito l'argomento e una sqlinjection è molto pericolosa quanto semplice da fare, quindi è indispensabile metterla fuori uso. Adesso vedo cosa mi avete consigliato di fare e provo a sistemarlo

                      @GreyFox said:

                      attento fai anche un filtraggio per simboli come % < > ' " * e nella pagina stessa che interroga il db perche senno possono essere bypassati editando una richiesta http manualmente.

                      Come faccio?

                      @GreyFox said:

                      inoltre per evitare proxy o spammer utilizza o le lettere delle immagini (come quella per registrarti qui) oppure un'applet in java che prenda l'ip privato del visitatore

                      A questo penserò quando preparo la pagina per le registrazioni.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        drimmy User Attivo • ultima modifica di

                        Al termine del lavoro posto il codice ben commentato di tutte le pagine. Così da poter essere utilizzata da tutti coloro che vogliono una sezione privata nel proprio sito.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • D
                          drimmy User Attivo • ultima modifica di

                          @Thedarkita said:

                          La connessione va fatta in ogni pagina quindi conviene fare un file di configurazione ed includerlo in tutte le pagine

                          per quanto riguarda lo script sarebbe più corretto scrivere:
                          al posto di :
                          [php]$sqlcmd .="WHERE user='$utente' AND pass='$pass' ";[/php]questo:
                          [php]$sqlcmd .="WHERE user='$_POST[utente]' AND pass='$_POST[pass]' ";[/php]
                          cosi eviti anche problemi con le impostazioni dei server

                          Ho fatto il file config.php che includo in tutte le pagine, per la query non ho capito la differenza...

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • D
                            drimmy User Attivo • ultima modifica di

                            Ho aggiunto il filtro addslashes per evitare la sqlinjection e in effetti funziona, riporto il codice completo della pagina accesso:

                            [php]
                            <?php
                            $utente=$_POST['utente'];
                            $pass=$_POST['pass']; // ricevo i dati dal form di login
                            $utente= addslashes ($utente);
                            $pass= addslashes ($pass); //filtraggio utente e pass per evitare sqlinjection

                            include 'configdb.php';

                            $sqlcmd = "SELECT * ";
                            $sqlcmd .= "FROM utenti ";
                            $sqlcmd .="WHERE user='$utente' AND pass='$pass' "; //select per ricerca dell'user & pass all'interno della tabella
                            $risultato = mysql_query( $sqlcmd ); // invio query al db
                            if (! $risultato) //controllo interrogazione database
                            exit ("errore nell'interrogazione: $sqlcmd");

                            if (mysql_num_rows ($risultato)==0) //controllo presenza user e pass nella tabella
                            {
                            exit ("Utente o Password errati");
                            $accesso="no"; //accesso non effettuato
                            }
                            else
                            $accesso="ok"; //accesso effettuato

                            session_start();
                            $_SESSION['accesso']=$accesso; //salva lo stato di accesso per le seguenti pagine della sessione e il nome utente e pass
                            $_SESSION['utente']=$utente;
                            $_SESSION['pass']=$pass;

                            mysql_close($db);
                            ?>
                            [/php]

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • samyorn
                              samyorn Consiglio Direttivo • ultima modifica di

                              Ciao drimmy
                              Dato che stai iniziando a parlare di sicurezza allora non dimenticare di criptare la password con md5 😉

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • massimux
                                massimux Moderatore • ultima modifica di

                                sha1 anche 🙂

                                se vogliamo rimanere nel ragionamento di criptazione 🙂

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • D
                                  drimmy User Attivo • ultima modifica di

                                  ciao, quando applicherò il lavoro sperimentale che sto facendo ad un sito vero e proprio penso che avrò a disposizione il certificato SSL, c'è qualcosa da fare nella programmazione per quanto riguarda SSL? come criptazione password se creo un algoritmo mio di criptazione? tipo moltiplico per 5,435 (un numero a caso) quando vado a inserire la pass nel db e, quando la vado a leggere, divido per lo stesso numero.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • T
                                    thedarkita ModSenior • ultima modifica di

                                    le codifiche md5 e sha1 sono irreversibili e quindi dovrebbero essere più sicure...

                                    per quanto riguarda il certificato negli script non devi fare niente

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    Caricamento altri post
                                    Rispondi
                                    • Topic risposta
                                    Effettua l'accesso per rispondere
                                    • Da Vecchi a Nuovi
                                    • Da Nuovi a Vecchi
                                    • Più Voti