Σύνδεση  


Ευρετήριο Δ. Συζήτησης » Web design » PHP
Νέο θέμα Απάντηση



Σελίδα 1 από 1 | [ 10 Δημοσιεύσεις ]
Προηγούμενο | Επόμενο

Συγγραφέας

Μήνυμα




antonisid
Θέμα δημοσίευσης: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 16 Οκτ 2011 12:53


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
02 Σεπ 2010 13:11

Δημοσιεύσεις
228

Τοποθεσία
where the streets have no name

 
Καλημέρα
Θα'θελα να μου πείτε ποιά μέθοδο προτιμάτε για να εμποδίζετε τους τσόγλανους :o του διαδικτύου να προκαλέσουν sql injection στην βάση.

Προσωπικά θεωρώ ότι με την συνάρτηση στο ακόλουθο παράδειγμα είμαι καλυμμένος αφού καθαρίζω ουσιαστικά με μια γραμμή κώδικα.

Κώδικας:
$name = mysql_real_escape_string($name);


Ποιά η διαφορά όμως με τον δεύτερο τρόπο εκτός του ότι έχει παραπάνω κώδικα? Υπερτερεί κάπου που δεν γνωρίζω?

Κώδικας:
<?php

function protect($string){
   $string = trim(strip_tags(addslashes($string)));
   return $string;
}

?>




iphone service

Εικόνα


 


 




merianos
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 17 Οκτ 2011 09:03


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
Η διαφορά είναι μεγάλη καθώς υπάρχουν πάρα πολλές μορφές SQL Injection που μπορούν να παρακάμψουν την συνάρτηση protect που έχεις γράψει ;)

Αν κάνεις μια έρευνα σε βάθος θα διαπιστώσεις πως οι τεχνικές δεν περιορίζονται μόνο σε κάποιους τύπους επίθεσης, αλλά υπάρχουν και πάρα πολλές άλλες που προσπερνούν τις κλασικές τεχνικές προστασίας για το SQL Injection ;)



Web Design Blog


 


 




antonisid
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 17 Οκτ 2011 09:58


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
02 Σεπ 2010 13:11

Δημοσιεύσεις
228

Τοποθεσία
where the streets have no name

 
Εντάξει δεν μιλάω για κάποιον εξειδικευμένο που έχει τι γνώσεις να παραβιάσει ένα σύστημα καλά οχυρωμένο.Αναφέρομαι στον μέσο χρήστη που θα βάλει στο πεδίο του password 'OR' για να μην του επιστρέψει σφάλμα το query.



iphone service

Εικόνα


 


 




merianos
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 18 Οκτ 2011 09:48


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
Η λογική σου είναι λάθος ! Ποτέ δεν ξέρεις ποιος θα σου επιτεθεί και τι προθέσεις έχει ! Μπορεί για παράδειγμα κάποιος να επιτεθεί στη σελίδα σου, όχι για να σου πάρει το περιεχόμενο ή να σου ρίξει το site, αλλά γιατί για παράδειγμα μπορεί να θέλει να κάνει το server στον οποίο παίζει η σελίδα σου ζόμπι και να τον βάλει να κάνει ένα attack μαζί με άλλους server που έχει hack-άρει για να επιτύχει ένα DDoS. Τα πράγματα είναι πολυδιάστατα και για αυτό ένας καλός developer πρέπει να κάνει πάντα το καλύτερο ! ;)



Web Design Blog


 


 




antonisid
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 18 Οκτ 2011 10:16


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
02 Σεπ 2010 13:11

Δημοσιεύσεις
228

Τοποθεσία
where the streets have no name

 
Έχεις κάποια μέθοδο συγκεκριμένη που χρησιμοποιείς?



iphone service

Εικόνα


 


 




merianos
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 19 Οκτ 2011 13:03


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
Εννοείς για προστασία από τα SQL Injections ή για κάποια συγκεκριμένη μέθοδο της PHP ?



Web Design Blog


 


 




antonisid
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 19 Οκτ 2011 13:06


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
02 Σεπ 2010 13:11

Δημοσιεύσεις
228

Τοποθεσία
where the streets have no name

 
...για προστασία απο SQL injections.Ποιά μέθοδο χρησιμοποιείς συνήθως? Ή είναι ανάλογα τις απαιτήσεις?



iphone service

Εικόνα


 


 




merianos
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 20 Οκτ 2011 15:34


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
mysql_real_escape_string ;) Έχουν προβλέψει άλλοι για τα Injections και συνέχεια ενημερώνονται οι τεχνικές ! Δεν υπάρχει λόγος να ανακαλύψω ξανά τον τροχό !



Web Design Blog


 


 




antonisid
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 21 Οκτ 2011 21:07


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
02 Σεπ 2010 13:11

Δημοσιεύσεις
228

Τοποθεσία
where the streets have no name

 
Κάτι ακόμα! Σ'ένα tutorial που διάβασα ο έλεγχος στο login του χρήστη γίνεται με τον ακόλουθο τρόπο.

Κώδικας:
class Mysql {
   private $conn; // να δω αντιστοιχο παράδειγμα
   
   function __construct() {
      $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
                 die('There was a problem connecting to the database.');
   }
   
   function verify_Username_and_Pass($un, $pwd) {
            
      $query = "SELECT *
            FROM users
            WHERE username = ? AND password = ?
            LIMIT 1";
            
      if($stmt = $this->conn->prepare($query)) {
         $stmt->bind_param('ss', $un, $pwd);
         $stmt->execute();
         
         if($stmt->fetch()) {
            $stmt->close();
            return true;
         }
      }
      
   }
}


Με λίγα λόγια στην class αφού συνδεθεί με τον constructor στην βάση (την κλάση την καλώ απ το login.php) στην συνέχεια χρησιμοποιεί prepare statements για να μειώσει τις πιθανότητες για sql injection.

Εχει κάποια βάση αυτό? :roll:



iphone service

Εικόνα


 


 




merianos
Θέμα δημοσίευσης: Re: μέθοδος αντιμετώπισης Sql Injection
  Δημοσιεύτηκε: 22 Οκτ 2011 10:21


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
Άλλο πράγμα η σύνδεση με τη βάση δεδομένων και άλλο πράγμα τα SQL Injection.

Για τη σύνδεση με τη βάση δεδομένων το μόνο που πρέπει να παραμείνει ασφαλές είναι το όνομα χρήστη και ο κωδικός πρόσβασης.

Στα SQL Injections αυτό που προστατεύουν είναι τα δεδομένα στη βάση, καθώς ένα "πειραγμένο" ερώτημα μπορεί να εκθέσει τα δεδομένα της βάσης στον έξω κόσμο ! ;)



Web Design Blog


 


 


Νέο θέμα Απάντηση



Σελίδα 1 από 1 | [ 10 Δημοσιεύσεις ]
Προηγούμενο | Επόμενο


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

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

Κανόνες

Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση


Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
 


Αναζήτηση για: