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. [Tutorial] Area privata
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ciao MimmoNapoli,

      Posta pure ciò che sei riuscito a fare, e vedremo di aiutarti. 🙂

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • E
        eretis User • ultima modifica di

        Ciao ragazzi, ho preso spunto da questo script per farmi il login del mio sito. All'inizio della pagina che devo proteggere ho inserito questo codice:

        [php]<?php

        include "connessione.php";

        If (!isset($_SESSION['Nickname'])) {
        die("non risulti loggato");
        exit;

        }

        ?>
        [/php]c'è qualcosa che non va...ma lo script dovrebbe essere corretto....infatti se metto i dati di un utente registrato mi dice non risulti loggato, invece se uso dati sbagliati nella form mi da "nome utente o password errati".... ecco invece il login:

        [php]<?php

        include "connessione.php";

        session_start();

        if(isset($_POST['Nickname'])) {

        $nickname= trim($_POST['Nickname']);
        $password= trim($_POST['Password']);

        $password= md5($password);

        $query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
        $utente=mysql_num_rows($query);

        if($utente==1) {

        $_SESSION['Nickname'] = $nickname;

        header("Location: frames.php");

        }

        else {
        die ('Nickname o Password errati');

        }

        }

        ?>[/php]
        Dove sbaglio stavolta? 😄

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • E
          eretis User • ultima modifica di

          Ragazzi, ho messo session_start (); nel file "connessione.php"... prima era in index.php (dove si effettua il login)...ora se metto i dati errati nella form, mi dice che sono tali...mentre se li metto giusti mi apre la pagina....frames.php ma mi resta bianca..da cosa può dipendere? :mmm:

          Scusate per il doppio post non mi faceva più editare

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • E
            eretis User • ultima modifica di

            Ho risolto....c'ho sbattuto la testa un altro paio di orette :bigsmile: Ma cosa sono questi magicquotes? Mai sentiti..

            0 Miglior Risposta Ringrazia Cita Rispondi

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

              Ciao eretis,

              Magic_quotes_gpc è un impostazione del config di php, che permette di filtrare autamicamente gli ' ricevuti in input tramite GET, POST e COOKIE, aggiungendo un escape.
              Noi nello script abbiamo controllato se il php.ini è configurato per filtrarli ,altrimenti lo facciamo noi con la funzione addslashes, ciò impedisce che si verifichino SQL injection.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • E
                eretis User • ultima modifica di

                Nooooooooo...ho reinstallato wm server tools perchè mi dava problemi....stessa versione e tutto...e stesso codice (avevo fatto il backup) perchè ora non mi partono di nuovo più le sessioni? :crying::crying:
                Mi dice Nickname o Password errati..

                Riposto di nuovo...

                Login:

                [PHP]<?php

                include "config.php";

                if(isset($_POST['Nickname'])) {

                $nickname= trim($_POST['Nickname']);
                $password= trim($_POST['Password']);

                $password= md5($password);

                $query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
                $utente=mysql_num_rows($query);

                if(!$utente==1) {

                die('Nickname o Password errati');

                }

                else {

                $_SESSION['Nickname'] = $nickname;

                header("Location: frames.php");

                }

                }

                ?>[/PHP]

                in una privata:

                [PHP]<?php

                include "config.php";

                If (!isset($_SESSION['Nickname'])) {
                die("non risulti loggato");
                exit;

                }

                ?>[/PHP]

                0 Miglior Risposta Ringrazia Cita Rispondi

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

                  Ciao eretis,

                  Dopo un header metti sempre un exit altrimenti oltre ad avere problemi su alcuni browser ci sono problemi legati alla sicurezza in alcuni casi.
                  Mettere un exit dopo un die è superfluo puoi pure toglierlo perchè il die interrompe lo script.

                  Se il problema è il login le sessioni non centrano, fai un echo della query e controlliamo che la query sia corretta e quanti record ci restituisce.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • E
                    eretis User • ultima modifica di

                    Ciao TheDarkita,

                    ho tolto gli exit superflui e li ho messi dove servivano XD Sulle guide su internet non parlano nemmeno di exit!!

                    Stampando a video le righe indagate mi esce come valore 0...

                    [php]$query= mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
                    $utente=mysql_num_rows($query);[/php]:?

                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                      Ciao eretis,

                      Fai un echo della query:
                      [php]
                      echo "SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'";
                      [/php]

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • E
                        eretis User • ultima modifica di

                        esce: Resource id #4

                        Ho fatto così:

                        [php]echo mysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");[/php]Per visualizzarla l'ho tolta dai vari if ecc..spero di aver fatto bene

                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                          CIao eretis,

                          Devi usare il codice che ti ho detto io, lo metti subito dopo che esegue la query cosi vediamo cosa effettua.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • E
                            eretis User • ultima modifica di

                            Ok, scusa l'ignoranza 😄

                            Ho registrato un utente con nickname: nanana, password: nanana

                            Se metto [PHP]echo "SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'"; [/PHP]
                            esce:

                            SELECT * FROM lista_utenti WHERE Nickname = 'nanana' AND Password = 'bb9ec852de3e8f7609d3676ede4444fa'Nickname o Password errati

                            Mentre se metto come prima

                            [PHP]echo $query;[/PHP]

                            esce sempre resource id #4

                            0 Miglior Risposta Ringrazia Cita Rispondi

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

                              Ciao eretis,
                              A noi serviva proprio la query e quindi il select * from lista_utenti....

                              Ora verifica che nella tabella ci siano record che hanno quei valori...

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • E
                                eretis User • ultima modifica di

                                mmmm ecco dovè l'errore!!!!!!! La password criptata in md5...differisce da quella presente nella tabella!!!! Ma come mai? Non ho fatto un doppia criptazione o cose del genere

                                Forse è colpa di questa stringa nella registrazione?

                                [PHP]$password= md5($password); //criptazione della password[/PHP]

                                0 Miglior Risposta Ringrazia Cita Rispondi

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

                                  Ciao eretis,

                                  Evidentemente hai fatto qualche errore nella registrazione dell'account.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • E
                                    eretis User • ultima modifica di

                                    Ecco qua....avevo messo nella tabella "lista_utenti" a password varchar 20...quindi la registrazione della pass si fermava a 20 caratteri, invece che 32...ke noob ❌x:x

                                    Grazie mille darkita, sempre disponibile :ciauz:

                                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                                      Figurati. 😉

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • P
                                        player1 User Newbie • ultima modifica di

                                        Ciao,
                                        ho anch'io dei problemi con questo script e non sono molto pratico, aiuteresti anche me per favore?

                                        Comincio con la tabella, l'ho fatta così:

                                        id int 11 auto_increment
                                        user text
                                        pass text
                                        ses text
                                        data date
                                        citta text
                                        mail text

                                        Il file registrazione.php che ho fatto io penso che andrebbe censurato. :giggle:
                                        Attendo il via per postarlo, intanto va bene la tabella? O invece di text devo metterci varchar?
                                        Grazie.

                                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                                          Ciao Player1,
                                          La tabella va bene, comunque per le date è più comodo usare il formato time.

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • P
                                            player1 User Newbie • ultima modifica di

                                            Difatti è quello uno dei miei problemi che mi restituisce 0000/00/00
                                            ora provo grazie,

                                            e per le immagini 'che poi saranno avatar' è meglio nel db o in una cartella?

                                            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