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. Quali caratteri sono dannosi per mysql in input da un form html?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      marcsellier User Attivo • ultima modifica di

      Quali caratteri sono dannosi per mysql in input da un form html?

      Ciao ragazzi 🙂

      sapete per caso quali sono i caratteri dannosi che dovrei filtrare dall'input di un form html?
      Per esempio questi 2 caratteri \ / sono dannosi?
      Possono essere sfruttati in qualche modo da un malintenzionato?

      Aspetto vostre risposte e consigli :gthi:

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • marcocarrieri
        marcocarrieri ModSenior • ultima modifica di

        Cosa intendi per dannoso?
        Per un inserimento in database?
        Per una SQL-injection?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          marcsellier User Attivo • ultima modifica di

          @marcocarrieri said:

          Cosa intendi per dannoso?
          Per un inserimento in database?
          Per una SQL-injection?

          Per "inserimento" cosa intendi?
          Cmq penso mi riferissi al SQL-injection... :quote:

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • marcocarrieri
            marcocarrieri ModSenior • ultima modifica di

            Eh eh troppo bello.... "Penso mi riferissi" eh eh... 😛

            Per inserimento intendo, inserire in database nome, cognome.

            Mentre per le injection intendo quelle procedure maligne usate per danneggiare un sito.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              marcsellier User Attivo • ultima modifica di

              Si, comunque mi riferivo all'injection.
              Quindi? Pensi che quei 2 caratteri possano essere dannosi o no?
              In ogni caso quali possono essere i caratteri dannosi?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • marcocarrieri
                marcocarrieri ModSenior • ultima modifica di

                Dunque ho trovato queste discussioni.

                http://www.giorgiotave.it/forum/php-mysql/150679-aiuto-come-proteggersi-da-sql-innection.html#post804814

                http://www.giorgiotave.it/forum/php-mysql/85417-evitare-sql-injection-e-simili.html#post524427

                Purtroppo le conosco solo di fama quindi dobbiamo aspettare pareri da esperti PHP e di sicurezza.

                Saluti.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  marcsellier User Attivo • ultima modifica di

                  ok grazie 😉

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • marcocarrieri
                    marcocarrieri ModSenior • ultima modifica di

                    Di nulla... 🙂
                    Alla prossima.

                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                      Ciao Protone86,

                      dipende dalla query, per una query semplice del tipo:

                      SELECT * FROM tabella WHERE campo = '$stringa'
                      ```È sufficiente fare mysql_real_escape_string.
                      Se è una query di ricerca ci sono altri caratteri come il % e il _ che con mysql_real_escape_string non vengono rimossi, per cui biosgna fare controllli di tipo differente.
                      Se ti aspetti di ricevere una variabile di tipo int, verificare prima con php se è di tipo numerico ed evitare di fare una query errata ti fa anche risparmiare risorse del server evitando di controllare inutilmente tutta la tabella oltre che a essere praticamente sicurissima.
                      Il carattere \ permette di manomettere le query, con la funzione mysql_real_escape_string risolvi il problema.
                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • M
                        marcsellier User Attivo • ultima modifica di

                        Nel mio caso devo ritornare un messaggio di errore nel caso in cui l'utente inserisce i caratteri dannosi.
                        Sapresti indicarmi una funzione che cerca il carattere dentro la variabile?
                        Ho provato con diverse funzioni ma alcune si "inceppano" quando trovando l'apice... :mmm:

                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                          Non sarebbe più corretto renderli innocui, per esempio se io voglio cercare in un forum una discussione avente nome paperon de' paperoni, il carattere ' potrebbe essere dannoso ma perchè non dovrei poter effettuare questa ricerca?
                          Ovviamente tutto dipende a seconda dell'uso che se ne fà, ma di norma la strada da te scelta non viene mai presa.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • L
                            lucabartoli User Attivo • ultima modifica di

                            Comunque pensando a qualcosa di rapido potresti fare:

                            [php]if($var!=mysql_real_escape_string($var)) echo "Immessi dati non validi";[/php]

                            E' da verificare perché a quest'ora ho scritto la prima cosa che mi veniva in mente e potrebbe avere dei comportamenti che non ho considerato.
                            Comunque sono d'accordo con Thedarkita ed eviterei questa strada. Oltretutto è più elegante ritornare comunque dei risultati, eliminando o correggendo semplicemente i caratteri sgraditi.

                            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