Skip to content
Permalink
Browse files Browse the repository at this point in the history
aggiunta funzione rendi sicuro per evitare sql injection, corretto bu…
…g in HOME_WEB
  • Loading branch information
Miccighel committed Jun 25, 2014
1 parent 9635bfd commit e412127
Show file tree
Hide file tree
Showing 29 changed files with 67 additions and 60 deletions.
2 changes: 1 addition & 1 deletion html/moduloEliminazioneImmagineIntermedio.php
Expand Up @@ -4,7 +4,7 @@

if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
$query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
$query = sprintf("SELECT galleria FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
$dati = eseguiQuery($connessione, $query);

$percorsoThumbnails = '../img/thumb/' . $dati[0]['galleria'] . '/';
Expand Down
2 changes: 1 addition & 1 deletion html/moduloInserimentoImmagineIntermedio.php
Expand Up @@ -5,7 +5,7 @@
if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("SELECT codiceprodotto, nomeprodotto FROM tblprodotti WHERE codiceprodotto='" . $_POST['codiceprodotto'] . "'");
$query = sprintf("SELECT codiceprodotto, nomeprodotto FROM tblprodotti WHERE codiceprodotto='" . rendiSicuro($_POST['codiceprodotto']) . "'");
$dati = eseguiQuery($connessione, $query);

if (!$dati) {
Expand Down
2 changes: 1 addition & 1 deletion html/moduloModificaCategoriaIntermedio.php
Expand Up @@ -6,7 +6,7 @@
if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("SELECT * FROM tblcategorie WHERE nome='" . $_POST['nome'] . "'");
$query = sprintf("SELECT * FROM tblcategorie WHERE nome='" . rendiSicuro($_POST['nome']) . "'");
$dati = eseguiQuery($connessione, $query);

print '<form id="formModificaCategoria" method="post" action="../script/scriptModificaCategoria.php">';
Expand Down
2 changes: 1 addition & 1 deletion html/moduloModificaConsoleIntermedio.php
Expand Up @@ -6,7 +6,7 @@
if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("SELECT * FROM tblconsole WHERE nome='" . $_POST['nome'] . "'");
$query = sprintf("SELECT * FROM tblconsole WHERE nome='" . rendiSicuro($_POST['nome']) . "'");
$dati = eseguiQuery($connessione, $query);

print '<form id="formModificaConsole" method="post" action="../script/scriptModificaConsole.php">';
Expand Down
2 changes: 1 addition & 1 deletion html/moduloModificaProdottoIntermedio.php
Expand Up @@ -5,7 +5,7 @@

if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
$query = sprintf("SELECT * FROM tblprodotti WHERE codiceprodotto='" . $_POST['codiceprodotto'] . "'");
$query = sprintf("SELECT * FROM tblprodotti WHERE codiceprodotto='" . rendiSicuro($_POST['codiceprodotto']) . "'");
$dati = eseguiQuery($connessione, $query);
print '<form enctype="multipart/form-data" method="post" action="../script/scriptModificaProdotto.php">';
print '<fieldset><legend>Modifica Prodotto</legend>';
Expand Down
2 changes: 1 addition & 1 deletion html/moduloModificaUtente.php
Expand Up @@ -5,7 +5,7 @@

if (isset($_SESSION['collegato'])){
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
$query = sprintf("SELECT * FROM tblutenti WHERE user='" . $_SESSION['username']. "'");
$query = sprintf("SELECT * FROM tblutenti WHERE user='" . rendiSicuro($_SESSION['username']). "'");
$dati = eseguiQuery($connessione, $query);

print '<p class="informazione">Attenzione, dovrai eseguire di nuovo il login, una volta modificato il profilo</p>';
Expand Down
2 changes: 1 addition & 1 deletion html/moduloVisualizzazioneCarrello.php
Expand Up @@ -10,7 +10,7 @@
$query = sprintf("SELECT u.codicefiscale, c.codiceprodotto, c.quantita, p.nomeprodotto, p.prezzo,
p.immagine, p.categoria, pc.console FROM ((tblutenti AS u JOIN tblcarrelli AS c
ON u.codicefiscale = c.codiceutente) JOIN tblprodotti AS p on c.codiceprodotto = p.codiceprodotto)
JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE u.user='%s'", $_SESSION['username']);
JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE u.user='%s'", rendiSicuro($_SESSION['username']));

$dati = eseguiQuery($connessione, $query);

Expand Down
2 changes: 1 addition & 1 deletion html/moduloVisualizzazioneCatalogo.php
Expand Up @@ -21,7 +21,7 @@

while ($i < PRODOTTIPERPAGINA * $pagina && $i< count($dati)) {
print '<div class="corpoCatalogo">' . '<div class="catcolsx"><img alt="Immagine non trovata"
src="' . HOME_WEB . '/' . $cartellaImmaginePrincipale . '/thumb/' . $dati[$i]['immagine'] . '">' .
src="' . HOME_WEB . $cartellaImmaginePrincipale . '/thumb/' . $dati[$i]['immagine'] . '">' .
'</div>' . '<div class="catcoldx"><p><b>Codice Prodotto: </b>' . $dati[$i]['codiceprodotto'] . '</p>' .
'<p><b>Nome Prodotto: </b>' . $dati[$i]['nomeprodotto'] . '</p>' .
'<p><b>Descrizione: </b>' . $dati[$i]['descrizione'] . '</p>' .
Expand Down
2 changes: 1 addition & 1 deletion html/moduloVisualizzazioneFattura.php
Expand Up @@ -4,7 +4,7 @@

if($_SERVER['REQUEST_METHOD'] != 'GET'){
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
$query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",$_POST['codicefiscale']);
$query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",rendiSicuro($_POST['codicefiscale']));
$dati = eseguiQuery($connessione, $query);

$prezzoFinale = 0;
Expand Down
10 changes: 4 additions & 6 deletions html/testa.php
Expand Up @@ -7,12 +7,10 @@
<script type="text/javascript" src="<?php print HOME_WEB; ?>js/modernizr.custom.17475.js"></script>
<script type="text/javascript" src="<?php print HOME_WEB; ?>js/jquery.elastislide.js"></script>
<script type="text/javascript" src="<?php print HOME_WEB; ?>js/funzioni.js"></script>
<style type="text/css">
@import url(<?php print HOME_WEB;?>css/stile.css);
@import url(<?php print HOME_WEB;?>css/jquery-ui.min.css);
@import url(<?php print HOME_WEB;?>css/style.css);
@import url(<?php print HOME_WEB;?>css/elastislide.css);
</style>
<link rel="stylesheet" href="<?php print HOME_WEB;?>css/stile.css" type="text/css">
<link rel="stylesheet" href="<?php print HOME_WEB;?>css/jquery-ui.min.css" type="text/css">
<link rel="stylesheet" href="<?php print HOME_WEB;?>css/style.css" type="text/css">
<link rel="stylesheet" href="<?php print HOME_WEB;?>css/elastislide.css" type="text/css">
</head>
<body>
<div id="contenuto">
Expand Down
17 changes: 13 additions & 4 deletions script/funzioni.php
Expand Up @@ -20,6 +20,15 @@ function eseguiQuery($connessione,$query){
return $dati;
}

function rendiSicuro($parametro){
// La funzione viene impiegata per evitare eventuali tentativi di sql injection nel database
if(get_magic_quotes_gpc()){
return $parametro;
}else{
return mysql_real_escape_string($parametro);
}
}

function chiudiConnessione($connessione){
mysqli_close($connessione);
}
Expand Down Expand Up @@ -135,7 +144,7 @@ function ricercaProdotto($nomeCercato,$destinazione) {
// La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
print '<p class="informazione">Sono stati individuati i seguenti risultati potenziali</p>';
$query = "SELECT * FROM tblprodotti AS p LEFT JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE nomeprodotto LIKE '%".$nomeCercato."%' ORDER BY nomeprodotto ASC";
$query = "SELECT * FROM tblprodotti AS p LEFT JOIN tblprodotticonsole AS pc ON p.codiceprodotto = pc.codiceprodotto WHERE nomeprodotto LIKE '%".rendiSicuro($nomeCercato)."%' ORDER BY nomeprodotto ASC";
$dati = eseguiQuery($connessione,$query);
$contantoreRisultati = 0;

Expand Down Expand Up @@ -168,7 +177,7 @@ function ricercaCategoria($nomeCercato, $destinazione){

// La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
$query = "SELECT * FROM tblcategorie WHERE nome LIKE '%".$nomeCercato."%'"."ORDER BY nome ASC";
$query = "SELECT * FROM tblcategorie WHERE nome LIKE '%".rendiSicuro($nomeCercato)."%'"."ORDER BY nome ASC";
$dati = eseguiQuery($connessione,$query);
$contantoreRisultati = 0;
print '<p class="informazione">Sono stati individuati i seguenti risultati potenziali</p>';
Expand Down Expand Up @@ -203,7 +212,7 @@ function ricercaConsole($nomeCercato, $destinazione){

// La funzione di ricerca viene utilizzata nelle fasi di modifica e cancellazione per individuare l'oggetto dell'operazione
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
$query = "SELECT * FROM tblconsole WHERE nome LIKE '%".$nomeCercato."%'"."ORDER BY nome ASC";
$query = "SELECT * FROM tblconsole WHERE nome LIKE '%".rendiSicuro($nomeCercato)."%'"."ORDER BY nome ASC";
$dati = eseguiQuery($connessione,$query);
$contantoreRisultati = 0;

Expand Down Expand Up @@ -234,7 +243,7 @@ function ricercaUtente($utenteCercato, $destinazione){

// La funzione stampa direttamente tutti gli utenti registrati
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
$query = "SELECT user, dirittoAmministratore FROM tblutenti WHERE user != '".$_SESSION['username']."' AND user LIKE '%".$utenteCercato."%'"." ORDER BY user ASC";
$query = "SELECT user, dirittoAmministratore FROM tblutenti WHERE user != '".rendiSicuro($_SESSION['username'])."' AND user LIKE '%".rendiSicuro($utenteCercato)."%'"." ORDER BY user ASC";
$dati = eseguiQuery($connessione,$query);
$contantoreRisultati = 0;

Expand Down
2 changes: 1 addition & 1 deletion script/scriptAmministrazione.php
Expand Up @@ -8,7 +8,7 @@
$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

for($i = 0; $i < count($_POST['user']); $i++) {
$query = sprintf("UPDATE tblutenti SET dirittoAmministratore='%s' WHERE user='%s'", $_POST['dirittoAmministratore'][$i], $_POST['user'][$i]);
$query = sprintf("UPDATE tblutenti SET dirittoAmministratore='%s' WHERE user='%s'", rendiSicuro($_POST['dirittoAmministratore'][$i]), rendiSicuro($_POST['user'][$i]));
$dati = eseguiQuery($connessione, $query);
}

Expand Down
10 changes: 5 additions & 5 deletions script/scriptConfermaAcquisto.php
Expand Up @@ -8,28 +8,28 @@

/* Il codice fiscale viene salvato per poter recuperare le tuple presenti nella tabella molti a molti del carrello
in base all'utente collegato con un dato username in quell'istante */
$query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='".$_SESSION['username']."'");
$query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='".rendiSicuro($_SESSION['username'])."'");
$dati = eseguiQuery($connessione,$query);
$codiceFiscale = $dati[0]['codicefiscale'];

// Recupero dei prodotti inseriti nel carrello dell'utente collegato
$connessione = creaConnessione(SERVER,UTENTE,PASSWORD,DATABASE);
$query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",$codiceFiscale);
$query = sprintf("SELECT p.codiceprodotto, p.nomeprodotto, c.quantita, p.prezzo FROM tblcarrelli AS c JOIN tblprodotti AS p ON c.codiceprodotto = p.codiceprodotto WHERE c.codiceutente='%s'",rendiSicuro($codiceFiscale));
$dati = eseguiQuery($connessione, $query);

foreach ($dati as $prodotto) {
// Per ogni prodotto, viene recuperata la quantità in magazzino
$query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'",$prodotto['codiceprodotto']);
$query = sprintf("SELECT numeropezzi FROM tblprodotti WHERE codiceprodotto='%s'",rendiSicuro($prodotto['codiceprodotto']));
$infoPezzi = eseguiQuery($connessione,$query);
// La quantità aggiornata è data dalla quantità in magazzino meno la quantità richiesta
$quantitàAggiornata = $infoPezzi[0]['numeropezzi'] - $prodotto['quantita'];
// L'informazione su dabatase viene aggiornata
$query = sprintf("UPDATE tblprodotti SET numeropezzi='%d' WHERE codiceprodotto='%s'",$quantitàAggiornata,$prodotto['codiceprodotto']);
$query = sprintf("UPDATE tblprodotti SET numeropezzi='%d' WHERE codiceprodotto='%s'",rendiSicuro($quantitàAggiornata),rendiSicuro($prodotto['codiceprodotto']));
$dati = eseguiQuery($connessione,$query);
}

// Una volta compiute le operazioni d'aggiornamento, le tuple dell'utente nel carrello vengono cancellate
$query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s'",$codiceFiscale);
$query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s'",rendiSicuro($codiceFiscale));
eseguiQuery($connessione, $query);

chiudiConnessione($connessione);
Expand Down
2 changes: 1 addition & 1 deletion script/scriptControlloLoginAdmin.php
Expand Up @@ -5,7 +5,7 @@
if($_SERVER['REQUEST_METHOD'] != 'GET'){

$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);
$query = sprintf("SELECT user, psw, dirittoamministratore FROM tblutenti WHERE user=" . "'" . $_POST['username'] . "'" . " AND " . "psw=" . "'" . sha1($_POST['password']) . "'");
$query = sprintf("SELECT user, psw, dirittoamministratore FROM tblutenti WHERE user=" . "'" . rendiSicuro($_POST['username']) . "'" . " AND " . "psw=" . "'" . rendiSicuro(sha1($_POST['password'])) . "'");
$dati = eseguiQuery($connessione, $query);

if ($dati == null) {
Expand Down
10 changes: 5 additions & 5 deletions script/scriptEliminazioneCarrello.php
Expand Up @@ -12,30 +12,30 @@
// La query recupera la tupla del prodotto da eliminare dal carrello in base al codice del prodotto stesso e all'utente collegato
$query = sprintf("SELECT u.codicefiscale, c.codiceprodotto, c.quantita
FROM tblutenti AS u JOIN tblcarrelli AS c ON u.codicefiscale = c.codiceutente
WHERE u.user='%s' AND c.codiceprodotto='%s'", $utente, $codiceEliminazione);
WHERE u.user='%s' AND c.codiceprodotto='%s'", rendiSicuro($utente), rendiSicuro($codiceEliminazione));
$dati = eseguiQuery($connessione, $query);

if ($quantitaEliminazione > $dati[0]['quantita']) {
print '<p class="errore">Non puoi eliminare dal carrello una quantita maggiore di quella inserita precedentemente</p>';
} else {

// il codice fiscale dell'utente collegato viene recuperato
$query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='%s'", $utente);
$query = sprintf("SELECT codicefiscale FROM tblutenti WHERE user='%s'", rendiSicuro($utente));
$infoUtente = eseguiQuery($connessione, $query);
$codiceFiscale = $infoUtente[0]['codicefiscale'];


// la quantità di prodotto presente nel carrello dell'utente viene aggiornata
$quantitaAggiornata = $dati[0]['quantita'] - $quantitaEliminazione;
$query = sprintf("UPDATE tblCarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente='%s'", $quantitaAggiornata, $codiceEliminazione, $codiceFiscale);
$query = sprintf("UPDATE tblCarrelli SET quantita='%d' WHERE codiceprodotto='%s' AND codiceutente='%s'", rendiSicuro($quantitaAggiornata), rendiSicuro($codiceEliminazione), rendiSicuro($codiceFiscale));
$dati = eseguiQuery($connessione, $query);

$query = sprintf("SELECT quantita FROM tblcarrelli WHERE codiceprodotto='%s' AND codiceutente='%s'", $codiceEliminazione, $codiceFiscale);
$query = sprintf("SELECT quantita FROM tblcarrelli WHERE codiceprodotto='%s' AND codiceutente='%s'", rendiSicuro($codiceEliminazione), rendiSicuro($codiceFiscale));
$dati = eseguiQuery($connessione, $query);

// Se la nuova quantità di prodotto presente nel carrello è negativa o zero, l'intera tupla viene eliminata
if ($dati[0]['quantita'] <= 0) {
$query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s' AND codiceprodotto='%s'", $codiceFiscale, $codiceEliminazione);
$query = sprintf("DELETE FROM tblcarrelli WHERE codiceutente='%s' AND codiceprodotto='%s'", rendiSicuro($codiceFiscale), rendiSicuro($codiceEliminazione));
$dati = eseguiQuery($connessione, $query);
}
print '<p class="successo">Aggiornamento del carrello eseguito correttamente</p>';
Expand Down
4 changes: 2 additions & 2 deletions script/scriptEliminazioneCategoria.php
Expand Up @@ -6,13 +6,13 @@

$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("SELECT COUNT(codiceprodotto) FROM tblprodotti WHERE categoria='%s'", $_POST['nome']);
$query = sprintf("SELECT COUNT(codiceprodotto) FROM tblprodotti WHERE categoria='%s'", rendiSicuro($_POST['nome']));
$dati = eseguiQuery($connessione, $query);

if(intval($dati[0]['COUNT(codiceprodotto)'] > 0)){
print '<p class="informazione">Elimina tutti i prodotti presenti in questa categoria prima di procedere</p>';
} else {
$query = sprintf("DELETE FROM tblcategorie WHERE nome='%s'", $_POST['nome']);
$query = sprintf("DELETE FROM tblcategorie WHERE nome='%s'", rendiSicuro($_POST['nome']));
$dati = eseguiQuery($connessione, $query);
print '<p class="successo">La categoria &egrave; stata eliminata con successo</p>';
}
Expand Down
4 changes: 2 additions & 2 deletions script/scriptEliminazioneConsole.php
Expand Up @@ -6,13 +6,13 @@

$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("SELECT COUNT(console) FROM tblprodotticonsole WHERE console='%s'", $_POST['nome']);
$query = sprintf("SELECT COUNT(console) FROM tblprodotticonsole WHERE console='%s'", rendiSicuro($_POST['nome']));
$dati = eseguiQuery($connessione, $query);

if(intval($dati[0]['COUNT(console)'] > 0)){
print '<p class="informazione">Elimina tutti i prodotti associati a questa console prima di procedere</p>';
} else {
$query = sprintf("DELETE FROM tblconsole WHERE nome='%s'", $_POST['nome']);
$query = sprintf("DELETE FROM tblconsole WHERE nome='%s'", rendiSicuro($_POST['nome']));
$dati = eseguiQuery($connessione, $query);
print '<p class="successo">La console &egrave; stata eliminata con successo</p>';
}
Expand Down
10 changes: 5 additions & 5 deletions script/scriptEliminazioneProdotto.php
Expand Up @@ -6,16 +6,16 @@

$connessione = creaConnessione(SERVER, UTENTE, PASSWORD, DATABASE);

$query = sprintf("DELETE FROM tblcarrelli WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
$query = sprintf("DELETE FROM tblcarrelli WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
$dati = eseguiQuery($connessione, $query);

$query = sprintf("DELETE FROM tblprodotticonsole WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
$query = sprintf("DELETE FROM tblprodotticonsole WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
$dati = eseguiQuery($connessione, $query);

$query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
$query = sprintf("SELECT galleria, immagine FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
$dati = eseguiQuery($connessione, $query);

$query = sprintf("SELECT COUNT(galleria) FROM tblprodotti WHERE galleria ='%s'", $dati[0]['galleria']);
$query = sprintf("SELECT COUNT(galleria) FROM tblprodotti WHERE galleria ='%s'", rendiSicuro($dati[0]['galleria']));
$numeroVersioni = eseguiQuery($connessione, $query);

// $numeroVersioni indica quanti prodotti condividono la stessa galleria
Expand Down Expand Up @@ -47,7 +47,7 @@
print '<p class="errore">La thumbnail dell\'immagine principale non esiste</p>';
}

$query = sprintf("DELETE FROM tblprodotti WHERE codiceprodotto='%s'", $_POST['codiceprodotto']);
$query = sprintf("DELETE FROM tblprodotti WHERE codiceprodotto='%s'", rendiSicuro($_POST['codiceprodotto']));
$dati = eseguiQuery($connessione, $query);

print '<p class="successo">Il prodotto &egrave; stato eliminato con successo</p>';
Expand Down

0 comments on commit e412127

Please sign in to comment.