consiglio sicurezza per soluzione problema apici

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
30
Peschiera del Garda (VR)
Salve, come da titolo ho un problema con gli apici a cui ho trovato una soluzione ma volevo comunque sapere se è una soluzione "genuina" oppure al "limite della funzionalità" partirò dando subito qualche info in più per avere un quadro generale più completo.

Allora utilizzo come charset l' utf-8 sia nel browser, sia nella connessione con il database che nel database e le sue tabelle infatti i dati mi vengono salvati così come vengono visti ad esempio gli accenti àèéìòù salvati nel db rimangono tali e quali, idem per i simboli.

Gli input sono filtrati nel seguente modo:

PHP:
$username= trim($_POST['username']);
$username_safe = $mysqli->real_escape_string($username);

quindi toglie gli spazi ad inizio e fine stringa ed agli apici antepone un bello \, quindi se inserisco Isa'ia nell' input ed invio viene filtrata come Isa\'ia, però viene comunque salvata nel database (come è giusto che sia) in questo modo Isa'ia senza nessun \ davanti agli apici.

Fin qui tutto bene perchè i dati vengono salvati belli limpidi limpidi nel database, il problema arriva però quando devo utilizzare un dato all' interno di una query, cerco di spiegarmi meglio postando la query:

PHP:
$allevamento = $_GET['id_allevamento'];
$id_allevamento = "id_allevamento LIKE '$allevamento%'";

$query = $mysqli->query("SELECT * FROM allevamenti AS a LEFT JOIN utenti AS u ON a.id_proprietario = u.id_utente WHERE ".$id_allevamento."");

$row = $query->fetch_assoc();

questa qui mi carica i dati degli allevamenti richiesti tramite GET e con la LEFT carico i dati del proprietario (questa l'ho inserita per chiarezza, ma il problema avviene alla prossima):

PHP:
$query2 = $mysqli->query("SELECT nome_cane FROM schede_cani WHERE nome_proprietario = '$row[nome_utente]' ORDER BY nome_cane ASC");

while($row2 = $query2->fetch_assoc()){

ecco qui, ora facciamo finta che il nome_proprietario sia Isa'ia, ora questo apice mi blocca giustamente la query, perchè come dicevo prima sul database il nome è salvato limpido limpido con il suo apice.

Ho provato questa soluzione che funziona bene, ma volevo sapere se è comunque corretta:

PHP:
$nome = $row['nome_utente'];
$nomino = $mysqli->real_escape_string($nome);

$query2 = $mysqli->query("SELECT nome_cane FROM schede_cani WHERE nome_proprietario = '$nomino' ORDER BY nome_cane ASC");

while($row2 = $query2->fetch_assoc()){

ora filtrando il dato prelevato dal database che sarebbe Isa'ia con il real_escape_string torna ad essere Isa\'ia e la query funziona benissimo!

Però il dubbio mi è sorto facendo questa prova:

PHP:
if($nome == $nomino){
echo "Sono Uguali"; 
} else {
echo "Sono diversi";
}

come risultato mi esce che sono diversi, ma allora come fa la query a funzionare bene? Perchè questa parte della query
PHP:
WHERE nome_proprietario = '$nomino'
trova la corrispondenza corretta? Alla fine confronta nome nel database salvato come Isa'ia e quello nella variabile $nomino che è Isa\'ia :cool:

Qualcuno sa spiegarmi come è possibile e se questa soluzione che utilizzo sia corretta o meno? (funzionare funziona) :love:

Grazie a tutti e spero di essermi spiegato bene :p
 
Discussioni simili
Autore Titolo Forum Risposte Data
A consiglio sulla sicurezza PHP 5
A Consiglio per creazione sito web CMS (Content Management System) 0
C [Diagramma E/R] Consiglio su progetto Database 0
sbolde91 Consiglio gestione Hosting Hosting 0
B Richiesta Consiglio E-commerce CMS (Content Management System) 0
A consiglio su telecamere ip wi-fi Presentati al Forum 0
S Consiglio esercizio Javascript Javascript 2
M Consiglio sulla gestione di Gerarchie Database 0
L Consiglio SEO gestione dominio + free hosting SEO e Posizionamento 3
M [DIAGRAMMA ER] Consiglio su progetto Presentati al Forum 1
R Consiglio Hosting per e-commerce Hosting 7
L Ciao, chiedo consiglio Presentati al Forum 1
Web93 RICHIESTA CONSIGLIO - FARE UN SITO WEB CMS (Content Management System) 1
F Consiglio IP camera per timelapse (anche notturno) IP Cam e Videosorveglianza 0
M [PHP] Consiglio su come istanziare un Bottone PHP 0
S [PHP] Richiesta consiglio PHP 1
M Consiglio su problematica impianto videosorveglianza IP Cam e Videosorveglianza 4
M [HTML] consiglio su label e checkbox riguardo l'allineamento HTML e CSS 2
D consiglio evitare truffe Annunci servizi di Social Media Marketing 11
A [Visual Basic] Consiglio sul datagridview Visual Basic 0
G [Diagramma ER] Consiglio su progetto Database 0
G consiglio acquisto telecamera nascosta in sensore allarme IP Cam e Videosorveglianza 0
N Consiglio struttura database WFM Database 1
Q consiglio per python Programmazione 1
C Consiglio configurazione IPCam on line su pagina web IP Cam e Videosorveglianza 2
A Consiglio hosting offshore?? Hosting 3
L Wordpress: consiglio plugin per "verifica disponibilità" WordPress 0
S Consiglio Gestionale/ERP su commessa Windows e Software 0
A Richiesta consiglio per kit videosorveglianza IP Cam e Videosorveglianza 0
D [Photoshop] Consiglio acquisto tavoletta grafica de xp-pen Photoshop 0
R Consiglio rete cablata Reti LAN e Wireless 4
D Consiglio per rete ufficio Reti LAN e Wireless 0
W [CMS] Un consiglio per il CMS più adatto a me CMS (Content Management System) 2
E Consiglio sistema di videosorveglianza IP Cam e Videosorveglianza 0
D [HTML] Consiglio su sito Joomla Joomla 6
M [MS Access] consiglio sviluppo query MS Access 1
D Consiglio su come impostare IP statico Reti LAN e Wireless 0
G [PHP] Consiglio su Qry/array PHP 3
M Consiglio su creazione rete Reti LAN e Wireless 0
trattorino Consiglio e parere Annunci servizi di Social Media Marketing 4
Ibernato Consiglio host Hosting 7
M consiglio sistema di videosorveglianza IP Cam e Videosorveglianza 1
andreas88 Consiglio valore in euro di un Notebook usato Discussioni Varie 3
G consiglio telecamere per esterno IP Cam e Videosorveglianza 4
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
E Consiglio telecamera wifi motorizzata esterno con power bank IP Cam e Videosorveglianza 5
felino TV Box Android: consiglio su quale acquistare Discussioni Varie 0
A Ciao a tutti, volevo chiedervi un consiglio riguardo l'errore che viene fuori quando tento di lancia Presentati al Forum 1
S Consiglio telecamere v.sorveglianza IP Cam e Videosorveglianza 1
B Consiglio - lettera manleva per termine rapporto Leggi, Normative e Fisco 5

Discussioni simili