prepared statements

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Serghio
Δημοσιεύσεις: 452
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

prepared statements

Δημοσίευση από Serghio » 03 Φεβ 2015 18:40

Σιγουρα οταν πρόκειται να βάλουμε δεδομένα στην βάση-INSERT,UPDATE θα πρέπει να κάνουμε χρηση prepared statement για τον φοβο sql injection...

Yπάρχει λογος όμως να χρησιμοποιούμε οταν επρόκειτο να πάρουμε δεδομένα από την βάση-SELECT-ή να διαγράψουμε από αυτην, DELETE;

Χρειάζεται σε αυτές τις 2 τελευταίες περιπτώσεις να κάνουμε χρήση prepared statement;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

prepared statements

Δημοσίευση από gvre » 03 Φεβ 2015 21:54

SQL injections μπορεί να έχεις και στην περίπτωση SELECT και DELETE, οπότε καλό είναι να γίνουν συνήθεια τα prepared statements.

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

prepared statements

Δημοσίευση από nirvana » 08 Φεβ 2015 13:06

Πρέπει ΠΑΝΤΑ να χρησιμοποιούμε prepared statements. Δυστυχώς πολλοί PHP developers έχουν συνηθήσει να μην τα χρησιμοποιούνε το οποίο είναι τραγικό γιατί οποιοσδήποτε με ελάχιστες γνώσεις SQL μπορεί να κάνει πολύ χοντρή ζημιά. Παράδειγμα sql injection σε select:

Κώδικας στο site

Κώδικας: Επιλογή όλων

$articleId = $_GET['id'];
$conn->query("SELECT * FROM articles WHERE id = " . $articleId . ";");
Συνηθισμένος χρήστης
Url: www.myblog.com/articlies?id=5

Αμαρτωλός χρήστης :p
Url: www.myblog.com/articlies?id=5;DROP DATABASE myblog

Δεν ξέρω αν το συγκεκριμένο που έστειλα δουλεύει, αλλά πιστεύω καταλαβαινεις γιατι πρέπει να χρησιμοποιούμε prepared statements παντού και πάντα!

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

prepared statements

Δημοσίευση από jpk » 24 Φεβ 2015 13:43

Συμφωνώντας με τον Nirvana όντως έχει νόημα ΠΑΝΤΑ να χρησιμοποιούμε prepared statement , αυτό δεν έχει να κάνει μόνο με τον κίνδυνο για SQL injections αλλά και με το ότι βοηθάμε την βάση μας να λειτουργεί καλύτερα αφού δεν φτιάχνει σχέδιο κάθε φορά για την εκτέλεση του query. Στην PHP δημιουργώντας ένα πολύ μικρό db abstraction πάνω στο PDO η χρήση των prepared statements είναι πραγματικά πολύ απλή (αν θέλεις θα μπορούσα να σου δώσω ένα παράδειγμα).

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες