Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [PHP e Codice Malevolo] Viene prima l'esecuzione di un codice, o una regExp?

    Salve a tutti,

    stavo riflettendo su una cosa e volevo sapere il vostro prezioso parere per un chiarimento.

    Dato uno script php che controlla ad esempio una input/text come nell'esempio:

    Codice PHP:
    <?php

    $input 
    $_POST['input'];

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

       if (!
    preg_match('/[a-zA-Z]+/'$input)) { // E' permesso solamente del testo "normale"..

       
    echo ("Ehi ehi..inserisci solamente caratteri..");

       }
    }
    ?>
    Pensavo..

    ..ma se un tizio invia un codice javascript malevolo nell'input...questi, verrà rifiutato perchè non rispetta l'espressione regolare, OPPURE verrà eseguito E POI verrà mostrato il messaggio di errore?

    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Se il codice non lo mostri o comunque non lo esegui (se è sql) non ci sono problemi con il tuo codice, ti basta mettere un else dopo l'if del preg_match.


  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    il codice javascript viene eseguito lato client.

    Lo script viene eseguito lato server.

    Quando stai eseguendo lo script, e quindi controlli ciò che l'utente ha inserito, un eventuale codice javascript è solo una semplice stringa che non ha nessun potere.

    Acquista potere solo quando lo stampi eventualmente a video!

    Ma se tu controlli la stringa e trovi un errore e stampi a video un messaggio d'errore non c'è nessun problema, perchè, come dicevamo prima, il codice javascript è eseguito lato client!
    Jekkil

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Grazie ragazzi. Sopratutto grazie Jekkil per la tua risposta: era esattamente la risposta che desideravo ricevere

  5. #5
    Comunque, per la cronaca, quella regexp NON FA quanto scritto nel commento.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Come no...e questa?

    Codice PHP:
    !preg_match('#^[a-zA-z]+$#i'$input

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    dipende cosa vuoi controllare con quell'espressione regolare?
    Jekkil

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Che vengano inserite solamente lettere dalla A alla Z (maiuscole e minuscole).

    (Essendo consapevole che tutto il resto verrà rifiutato: lettere accentate, numeri, simboli, ecc.)

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    allora se ricordo bene è ok, ma l'ho provata e funziona.

    Solo due cosette:
    1) se metti a-zA-Z non serve che poi metti i
    2) in questo modo se ci sono degli spazi non te li accetta..
    Jekkil

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Si infatti correggerò la "i"

    Per gli spazi...no...non li voglio

    Grazie Jekkil

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