Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 17891|Απάντηση: 0

[ASP.NET] Μια λύση για το MVC για τον εντοπισμό μιας δυνητικά επικίνδυνης τιμής Request.Form από τον υπολογιστή-πελάτη

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 25/11/2016 4:33:35 μ.μ. | | | |


[HttpRequestValidationException (0x80004005): Από τον υπολογιστή-πελάτη... Η δυνητικά επικίνδυνη τιμή Request.Form εντοπίζεται στην τιμή Request.Form. ]
System.Web.HttpRequest.ValidateString(Συμβολοσειρά s, Συμβολοσειρά valueName, Συμβολοσειρά collectionName)



1. Στην πραγματικότητα, το σφάλμα έχει εξηγηθεί με σαφήνεια και η λύση λέγεται:


Εντοπίστηκε μια δυνητικά επικίνδυνη τιμή Request.Form από τον υπολογιστή-πελάτη (txtUEditor="<p>a</p>").

Περιγραφή: Η διαδικασία επικύρωσης αίτησης εντόπισε δυνητικά επικίνδυνες τιμές εισόδου υπολογιστή-πελάτη και η επεξεργασία της αίτησης ματαιώθηκε. Αυτή η τιμή μπορεί να υποδεικνύει ότι υπάρχει μια προσπάθεια να τεθεί σε κίνδυνο η ασφάλεια της εφαρμογής, όπως μια επίθεση δέσμης ενεργειών μεταξύ τοποθεσιών. Για να επιτρέψετε στη σελίδα να παρακάμψει τις ρυθμίσεις επικύρωσης αίτησης εφαρμογής, ορίστε την ιδιότητα requestValidationMode στην ενότητα διαμόρφωσης httpRuntime σε requestValidationMode="2.0". Παράδειγμα: <httpRuntime requestValidationMode="2.0" />. Μόλις οριστεί αυτή η τιμή, η <pages> επικύρωση αιτήματος μπορεί να απενεργοποιηθεί ορίζοντας validateRequest="false" στην οδηγία σελίδας ή στην ενότητα διαμόρφωσης. Ωστόσο, σε αυτήν την περίπτωση, συνιστάται ιδιαίτερα η εφαρμογή να ελέγχει ρητά όλες τις εισόδους. Δείτε http://Go.microsoft.com/fwlink/?LinkId=153133 για περισσότερες πληροφορίες.

Λεπτομέρειες εξαίρεσης: System.Web.HttpRequestValidationException: Εντοπίστηκε μια δυνητικά επικίνδυνη τιμή Request.Form από τον υπολογιστή-πελάτη (txtUEditor="<p>a"a</p>).

2. Ένας άλλος τρόπος είναι να το ορίσετε στην ενότητα Σελίδες στο web.config, όπως:




Αλλά αυτή η μέθοδος δεν είναι καλή, πολύ βίαιη, γιατί θα κάνει όλες τις σελίδες ολόκληρου του έργου να μην επαληθεύουν πλέον το υποβληθέν περιεχόμενο και η ασφάλεια μειώνεται σημαντικά.

3. Συνιστώμενες πρακτικές:
Προσθέστε ένα χαρακτηριστικό:[ValidateInput(false)] στην ενέργεια, το οποίο θα εμποδίσει μόνο τη σελίδα να επικυρώσει την υποβολή και δεν θα επηρεάσει άλλες σελίδες.




Σημείωση: Εάν το Request.Form["XXX"] ληφθεί με αυτόν τον τρόπο, θα εξακολουθεί να εντοπίζεται μια δυνητικά επικίνδυνη ανωμαλία, οπότε φροντίστε να βάλετε τα δεδομένα που θέλετε να λάβετε στις παραμέτρους του ελεγκτή! !




Προηγούμενος:Η επαλήθευση EasyUI επιβεβαιώνει ότι ο κωδικός πρόσβασης και ο νέος κωδικός πρόσβασης είναι συνεπείς
Επόμενος:Το UEditor Multi-Image Upload καταργεί τις λειτουργίες της καρτέλας Online Διαχείριση και Αναζήτηση εικόνων
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com