Όταν οι προγραμματιστές γράφουν κώδικα για να χειριστεί την είσοδο του χρήστη κειμένου , ότι η συμβολή συχνά κινείται μέσω ενός ρυθμιστικού ή μεταβλητό . Buffer " υπέρβαση " εμφανίζεται όταν ο προγραμματιστής δεν δημιουργήσει ένα ρυθμιστικό επαρκούς μεγέθους για να χειριστεί την είσοδο του χρήστη . Η είσοδος δεν σταματά όταν σταματά το ρυθμιστικό . Αντίθετα , το πρόγραμμα αποθηκεύει το κείμενο στη μνήμη αμέσως μετά το buffer , ενδεχομένως αντικαθιστώντας ζωτικής σημασίας στοιχεία του προγράμματος . Υπερχειλίσεις buffer συμβολοσειράς πιο συχνά συμβαίνει όταν οι προγραμματιστές δεν ελέγχουν την είσοδο του χρήστη σωστά .
Εικόνων Έλεγχος Όρια
Η
Η είσοδος του χρήστη μπορεί συχνά να επεκταθεί πέρα από τα όρια ενός πίνακα , λόγω της κακής όριο έλεγχο . Ιδιαίτερα σε C , όπου οι χορδές εκπροσωπήθηκαν ως συστοιχίες των χαρακτήρων , την εισαγωγή και το χειρισμό strings σε αυτές τις σειρές μπορεί να γίνει δύσκολη . Είναι δυνατό να υπολογίσει σωστά τις τιμές του δείκτη πίνακα και να αντικαταστήσετε θέσεις στη μνήμη εκτός του πίνακα . Με τη συμπερίληψη πάντα κώδικα που ελέγχει τα όρια του πίνακα για να εξασφαλιστεί ότι δεν θα αντικατασταθούν , ο προγραμματιστής μπορεί να περιορίσει την πρόσβαση κορδόνι στη συστοιχία .
Η χρήση Μεγάλες Buffers
Η
Στις γλώσσες υψηλότερου επιπέδου , όπως η C # ή Java , ο προγραμματιστής μπορεί να χρησιμοποιήσει συγκεκριμένα αντικείμενα εισόδου που περιέχουν μεγάλες ρυθμιστικά . BufferedReader Java είναι ένα καλό παράδειγμα αυτού . Ο χρήστης μπορεί να δημιουργήσει αυτό το αντικείμενο με ένα μεγάλο γαμώ ή να κολλήσει με μεγάλο προεπιλεγμένο μέγεθος του buffer για να χειριστεί την είσοδο . Το αντικείμενο στη συνέχεια χειρίζεται το κείμενο στο ρυθμιστικό διάλυμα . Σε γλώσσες χαμηλότερου επιπέδου όπως η C , ο προγραμματιστής θα χρησιμοποιήσει πιθανότατα συστοιχίες χαρακτήρα . Στην περίπτωση αυτή , ο προγραμματιστής πρέπει να εξασφαλίσει ότι ο χαρακτήρας συστοιχία λήψη δεδομένων παραμένει αρκετά μεγάλο για να χειριστεί κάθε πιθανό μέγεθος των δεδομένων .
Εικόνων Χρησιμοποιήστε Secure Λειτουργίες
Η
Όσον αφορά την είσοδο του χρήστη πηγαίνει , η γλώσσα προγραμματισμού C χρησιμοποιεί διαφορετικές λειτουργίες για διάφορες εργασίες εισόδου . Δεν είναι όλες αυτές οι επιλογές είναι ασφαλείς . Για παράδειγμα, η συνάρτηση παίρνει δεν ελέγχει την είσοδο του χρήστη σε όλους , και θα επιτρέψει σε τίποτα να περάσει στο πρόγραμμα . Η λειτουργία strcpy δεν θα εκτελέσει ελέγχου ορίων . Αντ 'αυτού , άλλες ασφαλείς λειτουργίες θα πρέπει να χρησιμοποιούνται , όπως οι fgets ή Strncpy λειτουργίες .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα