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

    [Sicurezza] Controllo input campo "commento". Consigli.

    Ok raga,

    in questi casi proprio non resisto a fare ste domande perchè il dubbio mi mangia e allora solo la fede può dare sollievo e..

    ..questo è il mio tempio per pregare! ( )

    ---------------

    Questione: il dato da controllare è un input/text dove l'utente lascerà il commento. Il campo andrà a contenere MAX 3000 caratteri.

    Domanda: quanto è sicuro, dapprincipio, un dato filtrato inizialmente così?
    Postilla-sub-domanda: sono consapevole delle operazioni che svolgono le funzioni, ma ho bisogno di conferme

    Codice:
    Codice PHP:
    <?php

      $comment 
    mysql_escape_string(htmlentities(strip_tags(trim($_POST['commento'])), ENT_QUOTES'UTF-8'));
    ?>


  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    sicuro per cosa? se intendi per evitare injection di sql allora "mysql_escape_string" da sola risolve in generale la cosa...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Sicuro per SQL Injection, XSS, BTP, CCP, FTSE MIB, Trillillì, trallallà..




    ..considera che sono talmente paranoico che nei miei script inserisco un IF di verifica per ogni query, ogni statement, ogni possibile anomalia.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ok... sei sicuro per ogni cosa che non sia un attacco alla "logica" del database (*) (ma con le funzioni così puoi solo controllare la sintassi, normalmente). Quindi direi... ok.

    (*) se per esempio prevedi un campo univoco, ma non l'hai dichiarato come "UNICO" in sql e ti mettono un doppione... beh... queste cose si controllano diversamente, è chiaro!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Yesss!

    Mi sono evitato varie preg_match, preg_match_all, preg_replace, ecc..

    (oggi sono pigro)

    Però devo ammettere che non ho compreso il tuo asterisco.. ..nel senso, non capisco il "ti mettono un doppione".

    Intendi due commenti uguali?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    intendo che la "logica" deve essere ben strutturata e verificata... con le funzioni di escape controlli la sintassi (es.: che non siano inseriti caratteri "cattivi" come doppi apici, "%", etc.), ma se tu prevedi che un campo di una tabella debba essere univoco, ma non metti alcuni vincolo e non fai alcun controllo, chiaramente il sistema può collassare semplicemente inserendo un dato già presente.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    ma se tu prevedi che un campo di una tabella debba essere univoco, ma non metti alcuni vincolo e non fai alcun controllo
    ..scusa, ma continuo a non capire..

    Parli di univoco..perchè?
    Vincolo..in che senso scusami?
    Controllo..ok..ma se viene fatto precedentemente dalla stringa di cui sopra?

    ..non ti capisco.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    potresti avere una tabella in cui il campo "codicefiscale" degli utenti deve essere univoco, ma se tu non definisci come "univoco" (si chiama così la proprietà) il campo nel database e poi non fai un controllo tramite PHP qualche utente potrebbe inserire un recordo duplicando questo valore e "mandando in bomba" il tuo script

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Aah ok ok. Ora ci siamo. Si in questo caso hai ragione.

    Ma qui si parla di una tabella che andrà a contenere soltanto Nome, Email, Sito web (opzionale), e Commento.

    Ora, per ciò che riguarda i primi 3 dati va tutto apposto perchè c'è di mezzo una preg_match che li gestisce. Il mio pensiero va solamente al campo commento che può contenere 3000 caratteri...sono sufficienti per dare fastidio.

    Però, data la stringa di cui sopra..allora (come hai suggerito anche tu) sto tranquillo perchè il lavoro lo fanno le funzioni che racchiudono il dato in POST.

    Nella suddetta tabella nessuno andrà poi a sovrascrivere niente perchè ogni nuovo commento è una nuova riga in pratica..sempre con nome, email, ecc.. (che si, potrebbero riapparire uguali se magari mi capiterà un "commentatore frequente")..però sempre su una sola riga andranno a stare..

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    allora ok

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.