Βίντεο: VITAMIN C In Your Skincare Routine: Brightening, Hyperpigmentation & Clear Skin 2024
Ο πρώτος κανόνας για την αποφυγή εισαγωγής κώδικα σε προγράμματα C ++ δεν είναι ποτέ, ποτέ, επιτρέπουν την επεξεργασία των δεδομένων από έναν διερμηνέα γλώσσας γενικής χρήσης. Ένα κοινό σφάλμα με την ένεση SQL είναι ότι το πρόγραμμα δέχεται την είσοδο του χρήστη σαν να ήταν πάντοτε αποδεκτή και το εισάγει σε ένα ερώτημα SQL το οποίο στη συνέχεια μεταφέρεται στη μηχανή βάσης δεδομένων για επεξεργασία.
Για παράδειγμα, ένα πρόγραμμα που ζητά εισροές χρηστών σε μια ημερομηνία μπορεί να παραβιαστεί. Η ασφαλέστερη και πιο φιλική προς το χρήστη προσέγγιση θα ήταν να παρέχει στον χρήστη ένα ημερολογιακό γραφικό από το οποίο θα μπορούσε να επιλέξει τις ημερομηνίες έναρξης και λήξης. Το πρόγραμμα θα δημιουργούσε στη συνέχεια μια ημερομηνία με βάση το τι έκανε κλικ ο χρήστης.
εεεε / μμ / η < - με άλλα λόγια, τέσσερα ψηφία ακολουθούμενα από μία κάθετο που ακολουθείται από δύο ψηφία και μια κάθετο και τέλος δύο ακόμη ψηφία. Τίποτα άλλο δεν πρέπει να θεωρείται ως αποδεκτή εισροή. Μερικές φορές δεν μπορείτε να είστε τόσο συγκεκριμένοι για τη μορφή. Εάν πρέπει να επιτρέψετε στο χρήστη να εισάγει ευέλικτο κείμενο, τότε μπορείτε τουλάχιστον να αποφύγετε ειδικούς χαρακτήρες. Για παράδειγμα, είναι σχεδόν αδύνατο να κάνετε SQL κώδικα ένεση χωρίς να χρησιμοποιήσετε είτε ένα μόνο ή διπλό προσφορά.Δεν μπορείτε να εισαγάγετε ετικέτες HTML χωρίς τη χρήση σημείου μικρότερης από (). Ή θα μπορούσατε απλώς να ακολουθήσετε την προσέγγιση ότι οτιδήποτε άλλο εκτός από το κείμενο ASCII δεν θα είναι ανεκτό:
// ελέγξτε κάποιο string 's για να βεβαιωθείτε ότι είναι ευθεία ASCII size_type off = s. find_first_not_of ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_");Αυτός ο κώδικας αναζητά τη συμβολοσειρά
s
για έναν χαρακτήρα που δεν είναι ένας από τους χαρακτήρες Α έως Ζ, a από το z, 0 έως 9, ή υπογράμμιση. Αν βρει έναν τέτοιο χαρακτήρα, τότε το πρόγραμμα απορρίπτει την είσοδο.