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. Disattivare codice Html
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • I
      infosicurezza User Attivo • ultima modifica di

      Disattivare codice Html

      Salve a tutti,
      il mio secondo problema è proprio la disattivazione del codice html nel form "Commenti" mi spiego meglio.
      Sto creando una gestione di articoli tra cui se l'utente vuole commentare, commenta sotto l'articolo (tipo blog) ovviamente tutto funziona, però la sicurezza in php deve sempre esserci, quindi ho provato "Diciamo ad attaccare il mio stesso sito web" e ho scoperto che è vulnerabile al codice Html, ovvero se inserisco ad esempio "nel campo commenti" il codice di reindirizzamento o qualsiasi altro codice html, esso le esegue.

      Ho cercato di creare una variabile
      [PHP] $not_accept = "parole_da_disabilitare"; [/PHP]
      che conteneva appunto le parole chiavi che non dovevano essere inserite nel database, e con un if creavo la condizione
      [PHP] if($not_accept)
      {
      print "Errore codice html";
      }
      else
      {
      // istruzioni da eseguire
      }
      [/PHP]
      Però da problemi, cioè anche se non scrivo codice html ma semplice testo mi stampa sempre questo messaggio di errore

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        tigrone User Attivo • ultima modifica di

        Pulisci i dati con strip_tags oppure htmlentities oppure htmlspecialchars.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • I
          infosicurezza User Attivo • ultima modifica di

          @tigrone said:

          Pulisci i dati con strip_tags oppure htmlentities oppure htmlspecialchars.

          Ah si giusto proverò con htmlspecialchars... ma se invece voglio eliminare solo 1 parte del codice html ? hai qualche idea ?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            tigrone User Attivo • ultima modifica di

            str_replace

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              amistat User Attivo • ultima modifica di

              Puoi usare anche questo codice per ripulire i dati mandati in post o get da tutto l'html:

              [PHP]
              $stringa=@preg_replace('#<(.*?)>#i','',$stringa);
              [/PHP]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • I
                infosicurezza User Attivo • ultima modifica di

                Puoi farmi un esempio con str_replace

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  tigrone User Attivo • ultima modifica di

                  $stringa='ciao mondo';
                  $stringa=str_replace('ciao','porco',$stringa);

                  Risultato: 'porco mondo'

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • I
                    infosicurezza User Attivo • ultima modifica di

                    ah ok ora è chiaro

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • I
                      infosicurezza User Attivo • ultima modifica di

                      Purtroppo non so perchè ma la funzione str_replace si comporta in maniera anomala, mi spiego meglio.
                      Ho creato un argomento di tipo array con questo codice
                      [php]
                      $testo = "$_POST[Annuncio]";
                      $cerca = array("<h1>","<center>");
                      $sostituisci = array("<u>","<b>");
                      echo str_replace($cerca, $sostituisci, $testo);
                      [/php]
                      alla stampa realmente sostituisce i caratteri, ma dopo che si salvano sul database e stampati in home "<h1>" rimane uguale e non viene sostituito....

                      0 Miglior Risposta Ringrazia Cita Rispondi

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

                        Ciao infosicurezza,

                        non hai sovrascritto la variabile $testo, forse inserisci nel database quella non sostituita.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          infosicurezza User Attivo • ultima modifica di

                          mmmmm....
                          Guarda anche te...
                          [php]
                          if(isset($_POST['invio']))
                          {
                          // SE IL MODULO VIENE INVIATO...
                          [/Php]

                          [php]
                          $testo = "$_POST[Annuncio]";
                          $cerca = array("<h1>","<center>");
                          $sostituisci = array("<u>","<i>");
                          echo str_replace($cerca, $sostituisci, $testo);
                          [/PHP]
                          Poi eseguo i controlli vari per l'inserimento dei campi...
                          ed infine l'inserimento sul database sostituendo la variabile con $testo che deve contenere i caratteri sostituiti con la funzione str:replace

                          [Php]
                          $query = "insert into articoli" .
                          "(Nome,Titolo,Annuncio)" .
                          "VALUES('".$_REQUEST['Nome']."',
                          '".$_REQUEST['Titolo']."',
                          '".$testo."')";
                          [/php]

                          0 Miglior Risposta Ringrazia Cita Rispondi

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

                            Al posto di:
                            [php]
                            echo str_replace($cerca, $sostituisci, $testo);
                            [/php]
                            Metti:
                            [php]
                            $testo = str_replace($cerca, $sostituisci, $testo);
                            [/php]

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • I
                              infosicurezza User Attivo • ultima modifica di

                              Cosi sembra quasi funzionare, ma mi altera i caratteri dei post successivi... come faccio poi a sostituire il <font size="" color=""> ecc ? perchè non ne vuole proprio sapere! mentre invece i singoli tag come <center> <h1> vedo che li sostituisce

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • I
                                infosicurezza User Attivo • ultima modifica di

                                Ho risolto con la funzione
                                [php] strip_tags [/php]
                                posto il codice per qualcuno che ha lo stesso problema
                                [php]
                                //Dati inviati via post dal modulo
                                $testo = "$_POST[Annuncio]";
                                $testo = strip_tags($testo,"<b><i><u>");
                                [/php]
                                Grazie ciaoo.

                                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