Visualizzazione dei risultati da 1 a 3 su 3

Discussione: evitare sql injection

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54

    evitare sql injection

    ciao a tutti ho queste due pagine php (elenco e stampa) come faccio a far passare l'id da una pagina all'altra evitando che qualcuno mi faccia un sql injection?
    elenco.php
    Codice PHP:
    <?phpinclude 'con.php';$cognome=addslashes($_REQUEST['cognome']);$nome=addslashes($_REQUEST['nome']);$luogo=addslashes($_REQUEST['luogo_nasc']);$residenza=addslashes($_REQUEST['residenza']);$query=mysqli_query($con,"select id, DATE_FORMAT(data, '%d/%m/%Y') as data, cognome, nome, data_nascita, luogo_nascita, codice from dati_personali order by id desc ");$risultato=($query);$numero=mysqli_real_escape_string($risultato);$contenuto="<table cellpadding=2 align = center width=100% border=2><p><thead> <tr>     <th align = center>Data</th>     <th align = center>Cognome</th>     <th align = center>Nome</th>     <th align = center>Data di Nascita</th>     <th align = center>Luogo di nascita</th>     <th align = center>Codice barre</th>          </tr>  <thead>"//ciclo di caricamento delle righe
    while ($riga mysqli_fetch_assoc($risultato)) { $id=$riga['id'];$contenuto .= "<tr><td align = center>".$riga["data"]."</td>";$contenuto .= "<td align = center><b>".$riga["cognome"]."</b></td>";$contenuto .= "<td align = center>".$riga["nome"]."</td>";$contenuto .= "<td align = center>".$riga["data_nascita"]."</td>";$contenuto .= "<td align = center>".$riga["luogo_nascita"]."</td>";$contenuto .="<td align = center><a href='stampa.php?id=$id'><img SRC=1.png ></a></td>";                    }
    $contenuto .= "</table></p>";
    echo 
    $contenuto;
    mysqli_close($con);?>
    stampa.php
    Codice PHP:
    <html><head><?phpinclude 'con.php';$id $_GET['id'];$query"select * from dati_personali where id='$id'";$result mysqli_query($con,$query);while ($row mysqli_fetch_assoc($result)){$rand=$row['codice'];}?><br><div style="width:25px: height:500px; border:2px, solid #000; align="center""><div align="center"><img src="http://bcgen.com/demo/linear-dbgs.aspx?D=<?php echo $rand  ?>"><br><form action ="stampa.php" method="post"><input  type="button" value="stampa"onClick="window.print()"/></form> </body></html>
    da premettere che ho fatto dei test con sqlmap inserendo l'url stampa.php?id=xx e mi ha craccato tranquillamente la password.

  2. #2
    Per quanto ne so, i comando che stai utilizzando dovrebbero già essere sufficienti.. Puoi comunque utilizzare questa sintassi quando recuperi i valori:
    Codice PHP:
    $variabile FILTER_INPUT(INPUT_GET'nome'); 
    Oppure:
    Codice PHP:
    $variabile FILTER_INPUT(INPUT_POST'nome'); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    ok grazie Luigi proverò

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.