Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329

    Quale secondo voi è il miglior modo per difendersi dall injecton???

    Salve ho letto un bel po' di articoli, in giro ed anche le guide di HTML.it, ma vorrei sapere secondo voi quale è la migliore tecnica per evitare l'injection.

    Grazie.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Usare i pdostatment, e abbandonare mysql, è la miglior soluzione sia per la sicurezza che per la compatibilità e la velocità

  3. #3
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Scusa ma PDO mica esula da MySql?
    Ma perchè sarebbe più sicuro? Usando PDO non ci si deve cmq preoccupare del MySql injection?
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Donovant
    Scusa ma PDO mica esula da MySql?
    Ma perchè sarebbe più sicuro? Usando PDO non ci si deve cmq preoccupare del MySql injection?
    No serve per gestirlo meglio semmai,per quanto riguarda l'sql injection
    se si utilizzano gli appositi metodi statment gestendo correttamente la valorizzazione
    (es. prepare+execute con array di valori da legare o bindParam) non è più un problema tuttavià una query vulnerabile con pdo potrebbe essere una query che viene creata da input esterni non correttamente valorizzati e legati al valore corrispondente, per questo oltre ad una buona gestione delle variabili serve anche logica e attenzione

  5. #5
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Sto usando mysqli, che fa uso di :repare, ::bind_param, ::execute, etc.

    Ora volevo testare un mysql injection, e a tal proposito mi chiedevo che questa GET fosse esatta (è solo un test, per questo uso GET)

    pagina.php?username='nomeuser');delete%20from%20tb l_utenti%20where%20id_utente=1
    ed anche eliminando la parentesi finale
    pagina.php?username='nomeuser';delete%20from%20tbl _utenti%20where%20id_utente=1

    Codice PHP:
    $stmt $db->getQueryPrepare("SELECT id_utente FROM tbl_utenti WHERE username = ? ");
    $stmt->bind_param("s"$user_name);
    $user_name $_GET["username"];
    $stmt->execute(); 
    Non avviene la cancellazione, ma forse sbaglio qualcosa, o non avviene proprio perchè uso "prepare" e "bind_param" ???

    grazie.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

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.