Dubbio su MySqli prepared statements e sicurezza postato il 07/01/2010 22:20:34 nel forum programmazione, gdrcd e open source e modificato da dyrr il 07/01/2010 22:40:07
Ho iniziato a leggermi un pň la parte dei prepared statements in PHP grazie all'estensione MySqli per via della maggiore sicurezza e performance in generale di questi e la mia domanda č questa:
Quanto sono a prove di SQL Injection? Nel senso una query tipo in questo script di prova:
<?php
$user_p = (isset($_POST['user_p']))? $_POST['user_p'] : "";
$password_p = (isset($_POST['password_p']))? $_POST['password_p'] : "";
if (($user_p != "") && ($password_p != "")) {
//$password_p = hash(sha512, $password_p);
$db = new mysqli("localhost", "root", "", "db_di_prova");
$stmt = $db -> prepare("Select user, password FROM user WHERE user = ? AND password = ? LIMIT 0,1");
$stmt -> bind_param("ss", $user_p, $password_p);
$stmt -> execute();
$stmt->store_result();
if (($stmt->num_rows) == 0) {
echo "Utente non riconosciuto (01)";
} else {
$stmt->bind_result($user, $password);
$stmt->fetch();
if (($user == $user_p) && ($password == $password_p)) {
echo "OK";
} else {
echo "Utente non riconosciuto (02)";
}
}
$stmt->free_result();
$stmt->close();
$db->close();
}
?>
Pagine → 1
08/01/2010 21:50:24
Il mio era un discorso generico ho usato il codice di una prova che stavo facendo per non avere due chilometri di codice da analizzare ho messo come commento il pezzo con l'hash proprio per chiedere quanto una query con degli input non filtrati da nulla ne da escape dei caratteri, ne da altro se fatta con i prepared statements possa essere sicura.
Il mio bubbio č quanto da solo l'uso dei prepared statements possa prevenire quel tipo di attacco
Discussione seguita da
Pagine → 1
Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
lewisgdr ha recensito Exclusive Villa GdR
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 18 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste