|
|
Δημοσιεύτηκε στις 12/12/2018 3:50:20 μ.μ.
|
|
|
|

Αφαιρέστε τις άχρηστες μηχανές προβολής
Από προεπιλογή, ASP.NET MVCE υποστηρίζει μηχανές WebForm και Razor και συνήθως χρησιμοποιούμε μόνο μία μηχανή προβολής στο ίδιο έργο, όπως το Razor, ώστε να μπορούμε να αφαιρέσουμε την αχρησιμοποίητη μηχανή προβολής και να βελτιώσουμε την αποτελεσματικότητα ανάκτησης των προβολών προβολής. Πριν διαγραφεί η μηχανή WebForm, κατά την ανάκτηση προβολών που δεν υπάρχουν στον ελεγκτή, μπορούμε να δούμε από την παρακάτω εικόνα ότι η σειρά ανάκτησης προβολών είναι πρώτα κάτω από τον αρχικό κατάλογο και, στη συνέχεια, τα αρχεία aspx και ascx κάτω από τον κοινόχρηστο κατάλογο.
1. Προσθέστε τον ακόλουθο κώδικα στο Global.asax:
Τώρα ας ρίξουμε μια ματιά
Η συμπίεση συγχωνεύει Css και Js
Στο APS.NET MVC4, υπάρχει μια πρόσθετη κλάση BundleConfig.cs κάτω από τον φάκελο App_Start, η οποία έχει σχεδιαστεί ειδικά για τη συμπίεση συγχωνευμένων αρχείων και η λειτουργία συμπίεσης και συγχώνευσης είναι ενεργοποιημένη από προεπιλογή, φυσικά, μπορούμε επίσης να χρησιμοποιήσουμε το BundleTable.EnableOptimizations = true; για να δείξετε ότι η ρύθμιση είναι ενεργοποιημένη.
Ωστόσο, σημειώστε ότι ο εντοπισμός σφαλμάτων έχει οριστεί σε false στο Web.config για να τεθεί σε ισχύ η συμπίεση
Ας ρίξουμε μια ματιά στη σύγκριση πριν και μετά τη συγχώνευση συμπίεσης
Πριν από τη συγχώνευση συμπίεσης:
Μετά τη συγχώνευση της συμπίεσης
Προφανώς, βλέπουμε ότι τα αρχεία έχουν συγχωνευθεί, μειώνοντας τον αριθμό των αιτημάτων δικτύου και ταυτόχρονα, το μέγεθος των αρχείων έχει επίσης μειωθεί, υποδεικνύοντας ότι έχουν συμπιεστεί.
Σημείωση: Μπορούμε να συγχωνεύσουμε μόνο αρχεία του ίδιου τύπου, πράγμα που σημαίνει ότι δεν μπορούμε να συγχωνεύσουμε αρχεία js και css μαζί, μπορούμε να συγχωνεύσουμε μόνο αρχεία js και αρχεία css ξεχωριστά.
Χρησιμοποιήστε διακριτικά κατά της παραχάραξης για να αποφύγετε επιθέσεις CSRF
Για τις υποβολές έκφρασης, το μέλημα είναι η ασφάλεια. ASP.NET MVC παρέχει έναν μηχανισμό για τον εντοπισμό ορισμένων τύπων επιθέσεων, ένας από τους οποίους είναι τα διακριτικά κατά της παραχάραξης. Αυτό το διακριτικό περιέχει στοιχεία τόσο από την πλευρά του διακομιστή όσο και από την πλευρά του πελάτη και ο κώδικας εισάγει έναν κρυφό τομέα στη φόρμα για να κρατήσει το διακριτικό για συγκεκριμένο χρήστη @Html.AntiForgeryToken()
Σημείωση: Η @Html.AntiForgeryToken() μπορεί να προστεθεί μόνο σε φόρμες που έχουν δηλωθεί με τη μορφή Html.BeginForm(), όχι σε <form>φόρμες tag μόνο για HTML.
Η βοηθητική μέθοδος Html.AntiForgeryToken θα γράψει κρυπτογραφημένα δεδομένα στο cookie του προγράμματος περιήγησης του πελάτη και, στη συνέχεια, θα εισαγάγει ένα κρυφό πεδίο που ονομάζεται _RequestVerificationToken στη φόρμα, το περιεχόμενο του κρυφού πεδίου, το περιεχόμενο του κρυφού πεδίου, κάθε φορά που ανανεώνεται η σελίδα, η τιμή αυτού του κρυφού πεδίου θα επαληθεύεται και θα συγκρίνεται με τα κρυπτογραφημένα δεδομένα του cookie, Απαιτείται επικύρωση για να επιτραπεί η εκτέλεση αυτής της μεθόδου ενέργειας.
Και η πλευρά του διακομιστή θα εκτελέσει αυτούς τους κωδικούς επικύρωσης διακριτικών πριν από την επεξεργασία δεδομένων, ως εξής: [ValidateAntiForgeryToken]
Απόκρυψη ASP.NET έκδοσης MVC
Από προεπιλογή, ο ιστότοπος ASP.NET MVC παρέχει τον αριθμό έκδοσης στο πρόγραμμα περιήγησης,
Προσθήκη MvcHandler.DisableMvcResponseHeader = true στο Global.asax;
Προσδιορίστε εάν το αίτημα πελάτη είναι Ajax:Request.IsAjaxRequest
|
Προηγούμενος:Παγκόσμιο Σύστημα Πολιτισμού, PDFΕπόμενος:C# στο DevCloud
|