Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    34

    Pulizia di stringhe provenienti da form

    per una questione di sicurezza dovrei togliere, con un programma in perl, tutte quelle informazioni provenienti da un form che potrebbero nascondere insidie.
    Qual'è il metodo migliore?
    Esiste un'operazione di pattern substitution che mi toglie una lista di caratteri indesiderati con un'unica istruzione del tipo:

    $stringa =~ s/lista di caratteri da togliere//g; ????

    Lo so che esiste, ma non sono riuscito a trovarla

    Grazie e ciao
    Una soluzione per risolvere la fame nel mondo:
    Comprare i politici per quello che valgono e rivenderli per quello che credono di valere

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    il primo parametro tra le /// e` una RegExp.

    Quindi:

    $stringa =~ s/[\,\.\/_ ]//g;

    davanti ai caratteri speciali, devi mettere la backslash, davanti ai caratteri alfanumerici no.
    Alcuni caratteri sono da scrivere con una sequenza particolare:
    newline: \n
    return: \r
    ...

    Vedi il manuale perlre per i dettagli.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    34
    Grazie Mich_
    Una soluzione per risolvere la fame nel mondo:
    Comprare i politici per quello che valgono e rivenderli per quello che credono di valere

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    34
    scusa se ti disturbo ancora
    Quali sono i caratteri sensibili per questa protezione?
    In altre parole, quali sono i caratteri che devo togliere per essere sicuro che non nascondano comandi pericolosi?
    grazie ancora
    Una soluzione per risolvere la fame nel mondo:
    Comprare i politici per quello che valgono e rivenderli per quello che credono di valere

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non saprei con esattezza.

    Immagino < > [ ] = + # $

    Poi dipende da quali caratteri ti possono servire.
    In linea di massima un solo carattere non e` pericoloso, mentre una combinazione oppurtuna di quei caratteri potrebbe nascondere tranelli.
    esempio:
    <script> (ma se togli < e > non puo` piu` girare)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Ciao,

    se non ci sono esigenze particolari è meglio procedere al contrario, cioè consentire solo i caratteri innocui, per cui consiglio:

    $stringa =~ s/[^a-zA-Z0-9_-]//gi;

    coumquere in genere caratteri pericolosi sono considerati:
    &%$*';<>?\/.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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.