Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problemi preg_match

  1. #1

    problemi preg_match

    Salve, vorrei bloccare tutti i testi che contengono caratteri(come html ecc) esempio: <script>alert("XSS Code")</script>

    Ho provato a fare cosi:

    codice:
    if(!preg_match("/[a-zA-Z0-9\!\?\.]/", $testo))
    però non funziona, vorrei bloccare i caratteri come <> '' "" ecc però non voglio bloccare caratteri come ? ! ... o la punteggiatura ecc.
    Potete gentilmente aiutarmi? grazie

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Puoi provare questa espressione regolare

    codice:
    '<[\/\!]*?[^<>]*?>'si
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    ho fatto cosi: però aggiunge tutto sia testi con <> ''' che senza:


    if(!preg_match("<[\/\!]*?[^<>]*?>", $testo))
    die("The text contains invalid characters");
    else
    {
    ecc
    }
    non so cosa sbaglio

  4. #4
    Ho provato in questo modo:

    codice:
    if(!preg_match('/^[a-z0-9]+$/i', $testo))
    {
    die("The text contains invalid characters");
    }


    però se scrivo il ? oppure ! o ... da errore e non so come risolvere

  5. #5
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    A me funziona. Che errore ti segnala?
    Per gli Spartani e Sparta usa spartan Il mio github

  6. #6
    Se scrivo per esempio:

    Ciao come stai?

    dice che ci sono caratteri non autorizzati in questo caso ?

  7. #7
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    DEvi aggiungere alle eccezione gli spazio

    Codice PHP:
    if(!preg_match('/^[a-z0-9\ ]+$/i'$testo)) 

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.