Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    controlli da effettuare prima dell'upload...

    ciao a tutti

    devo memorizzare su mysql dei testi abbastanza lunghi, quindi utilizzo campi text..

    che controlli mi consigliate di eseguire su questi campi $_POST prima di procede alla query?

    sto usando ad esempio

    mysql_real_escape_string

    e sto controllando la lunghezza del testo...

  2. #2
    Ti suggerisco di leggere questa pagina del manuale:

    http://www.php.net/manual/it/securit...-injection.php

    Inoltre, se il testo puo' contenere HTML, devi ripulirlo di tutto quello che puo' permettere attacchi XSS (es. tag SCRIPT, attributi On... etc.)

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    mi sembra che esista una funzione apposta che cancella i tag html...


    per evitare che l'utente mi inserisca stringhe "strane" per far fare qualcosa al mio db...


    mysql_real_escape_string e sufficiente?

  4. #4
    mi sembra che esista una funzione apposta che cancella i tag html...
    Si, http://www.php.net/strip_tags ma non puoi far solo affidamento su quella.

  5. #5
    Originariamente inviato da filippo.toso
    Si, http://www.php.net/strip_tags ma non puoi far solo affidamento su quella.
    Dipende per cosa: per quello che riguarda XSS, certo che può farci affidamento; per evitare la sql inject basterà invece la mysql_real_escape.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  6. #6
    Dipende per cosa: per quello che riguarda XSS, certo che può farci affidamento;
    Dipende. Se ad esempio vuole permettere all'utente di inserire tag come "


    " etc. (vedi secondo parametro di strip_tags), NON puo' fare solo affidamento su tale funzione per ripulire il codice.

  7. #7
    Originariamente inviato da filippo.toso
    Dipende. Se ad esempio vuole permettere all'utente di inserire tag come "


    " etc. (vedi secondo parametro di strip_tags), NON puo' fare solo affidamento su tale funzione per ripulire il codice.
    Primo, spiegami che tipo di attacchi XSS riesci a fare inserendo dei tag
    o

    , forse sono un po' rinco io, ma mi sembra decisamente impossibile sfruttarli per qualcosa del genere...

    Secondo, tu realmente ti fideresti che chi scrive del codice lo scrive giusto? O ti premuri di inserire anche un editor js (tipo fckeditor o tinymce) o è del tutto inutile che tu lasci la possibilità di usare tags, ti inseriranno delle terribili schifezze che come minimo ti spaginano il layout...

    Terzo, se proprio vuoi fare un lavoro di fino, si possono usare le espressioni regolari, o anche l'estensione tidy per validare il codice inserito, ma in molti casi è sufficiente una nl2br(striptags()) per sistemare il tutto...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Primo, spiegami che tipo di attacchi XSS riesci a fare inserendo dei tag
    o

    , forse sono un po' rinco io, ma mi sembra decisamente impossibile sfruttarli per qualcosa del genere...
    Codice PHP:
    <p style="width: 100%; height: 100%" onMouseOver="javascript: alert('XSS done!')"></p
    Secondo, tu realmente ti fideresti che chi scrive del codice lo scrive giusto? O ti premuri di inserire anche un editor js (tipo fckeditor o tinymce) o è del tutto inutile che tu lasci la possibilità di usare tags, ti inseriranno delle terribili schifezze che come minimo ti spaginano il layout...
    Dipende da che cosa va inserito (una intera pagina, un articolo, etc.), esistono TIDY ed altre tecnologie che permettono la normalizzazione/ripulitura del codice.

    Per quanto riguarda l'editor, il discorso non cambia, possono inserire del codice "malizioso" o che sballa la layout anche con un editor wysiwyg.

  9. #9
    Uhm, hai ragione, già P può essere pericoloso...

    Perdonami, ma quindi quello che sostenevo io lo confermi implicitamente anche tu: o ci si premura di fare lato server una vera validazione del codice HTML ricevuto, fatta che sia tramite regexp, tidy o qualsiasi altro metodo, oppure tanto vale escludere a priori tutti i tag; e escludere tutti i tag garantisce di mettersi al riparo da qualsiasi XSS.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    Inoltre, se il testo puo' contenere HTML, devi ripulirlo di tutto quello che puo' permettere attacchi XSS (es. tag SCRIPT, attributi On... etc.)

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.