Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: sql injection

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    654

    sql injection

    Salve a tutti

    ho un semplicissimo script che inserisce news in un db access e da un pò di giorni è una lotta continua con qualcuno che si diverte a svuotarlo


    Chiudo sempre db e connessione e faccio un semplice replace(str, "'", "''") tutte le volte che passo dei valori ad una query
    ma evidentemente non basta


    io ho una cosa del genere:

    SELECT * from NOME_tabella WHERE id=str;

    dove str è numerico

    e credo che mi svuotino con

    DROP table NOME_tabella

    forse devo oltre il replace mettere un controllo su str del tipo Cint(str)???

    accetto volentieri consigli

  2. #2
    se id e' numerico, si', dovrebbe bastare. ctrl che non ci siano altri posti pericolosi

  3. #3
    cos'è drop.....?
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  4. #4
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    Per eliminare un database:
    DROP DATABASE Nome_Database


    Per eliminare una tabella (vengono eliminati anche struttura, attributi ed indici):
    DROP TABLE Nome_Tabella


    Drop Index
    Possiamo eliminare degli indici tramite l’istruzione DROP.
    DROP INDEX Nome_Tabella.Nome_Indice


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    654
    ma quindi se faccio il controllo che str sia un campo numerico non mi serve + fare il replace(str, "'", "''") giusto?

  6. #6
    esatto. ad esempio

    str = "DELETE FROM TABELLA1"

    ID = CINT(str)

    ID vale zero!

    controlli che ID sia >0, e solo in quel caso esegui

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    654
    grazie grazie vedi però non tutti i mali vengono per nuocere sto scemo che svuota i db mi ha fatto imparare

  8. #8
    fa' una cosa. scrivi in un file (con FSO) o in una tabella DB la stringa STR prima di pulirla (con altre info, tipo la login dell'utente, data e ora, IP, ecc) cosi' vedi chi e' il simpaticone!

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    654
    si a sto punto approfondisco

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    654
    solo una cosa

    so come creare un file con FSO ma come faccio a registrare un'operazione ad es. la cancellazione di un record? Illuminami

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.