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

1. Ορισμός του τι σημαίνει «Μόνο προβολή»
Ξεκινήστε με μια ακριβή πολιτική. Διάφορες ομάδες μπορεί να χρησιμοποιούν το «μόνο προβολή» για να σημαίνουν:
- Να μην προσφέρεται το αρχικό αρχείο για λήψη.
- Να μην εμφανίζεται ενέργεια εξαγωγής.
- Να μην επιτρέπεται η εκτύπωση.
- Να επιτρέπεται η προβολή μόνο κατά τη διάρκεια εξουσιοδοτημένης συνεδρίας.
- Να αποτρέπεται η άμεση πρόσβαση των χρηστών στη θέση αποθήκευσης.
- Να προστίθενται εγγραφές ελέγχου όταν ανοίγεται ένα έγγραφο.
Αυτά είναι ξεχωριστά μέτρα. Αποφασίστε ποια απαιτούνται και βεβαιωθείτε ότι το επιλεγμένο προϊόν Doconut, τα πρόσθετα και η άδεια υποστηρίζουν τη συμπεριφορά του προβολέα που χρειάζεστε.
Ποτέ μην υποσχεθείτε ότι ένα ορατό έγγραφο δεν μπορεί να αντιγραφεί. Στιγμιότυπα οθόνης, κάμερες, εργαλεία προσβασιμότητας, δυνατότητες του προγράμματος περιήγησης και εξουσιοδοτημένη πρόσβαση στα εμφανιζόμενα pixel κάνουν την απόλυτη πρόληψη μη ρεαλιστική.
2. Προστασία του αρχικού αρχείου
Το αρχικό έγγραφο πρέπει να παραμένει σε προστατευμένη αποθήκευση στο διακομιστή.
Χρησιμοποιήστε:
- Αναγνωριστικά εγγράφων που δημιουργούνται από το διακομιστή
- Περιορισμένα δικαιώματα αποθήκευσης
- Κρυπτογράφηση κατά την αποθήκευση όπου απαιτείται
- Τεκμηριωμένη πολιτική διατήρησης
- Ξεχωριστά δικαιώματα για μεταφόρτωση, προβολή, εξαγωγή και διαχείριση
Μην στέλνετε διαπιστευτήρια αποθήκευσης, απεριόριστες διαδρομές αρχείων ή μόνιμα δημόσια URLs στον πελάτη.
3. Εξουσιοδότηση κάθε αιτήματος εγγράφου
Σε ASP.NET Core, προστατέψτε τη διαδρομή του προβολέα με τα τυπικά μηχανισμούς αυθεντικοποίησης και εξουσιοδότησης.
Ο διακομιστής πρέπει να ελέγχει:
- Ο χρήστης είναι αυθεντικοποιημένος.
- Το έγγραφο υπάρχει.
- Ο χρήστης έχει δικαίωμα προβολής του συγκεκριμένου εγγράφου.
- Η ζητούμενη ενέργεια επιτρέπεται για το ρόλο του χρήστη και την τρέχουσα κατάσταση της ροής εργασίας.
Το χαρακτηριστικό [Authorize] μπορεί να προστατεύσει μια διαδρομή, ενώ πολιτικές, αξιώσεις ή εξουσιοδότηση βάσει πόρων μπορούν να πάρουν την απόφαση για το συγκεκριμένο έγγραφο.
Η εξουσιοδότηση πρέπει επίσης να καλύπτει οποιοδήποτε endpoint που επιστρέφει δεδομένα εγγράφου, σελίδες, εξαγωγές, σημειώσεις ή έξοδο εκτύπωσης. Η ασφάλεια μόνο της αρχικής σελίδας αφήνει εκτεθειμένες εναλλακτικές διαδρομές.
4. Διαχωρισμός δικαιωμάτων προβολής και λήψης
Δημιουργήστε ρητά τα δικαιώματα αντί να τα συμπεραίνετε από ένα κρυφό κουμπί.
Για παράδειγμα:
CanViewDocumentCanDownloadOriginalCanExportDocumentCanPrintDocumentCanManageDocument
Αυτά τα ονόματα περιγράφουν πολιτικές της εφαρμογής, όχι API του Doconut. Η στρώση εξουσιοδότησης πρέπει να τα αξιολογεί στο διακομιστή πριν εκτελέσει την αντίστοιχη ενέργεια.
Ένας διαχειριστής μπορεί να έχει δικαίωμα λήψης ενώ ένας άλλος αυθεντικοποιημένος χρήστης έχει μόνο δικαίωμα προβολής. Και οι δύο χρήστες μπορούν να μοιράζονται την ίδια σελίδα εφαρμογής ενώ λαμβάνουν διαφορετικές εξουσιοδοτημένες δυνατότητες.
5. Διαμόρφωση του προβολέα από την επίσημη τεκμηρίωση
Χρησιμοποιήστε μόνο τα ονόματα ρυθμίσεων και τα βήματα ενσωμάτωσης που τεκμηριώνονται για την ακριβή έκδοση του Doconut που είναι εγκατεστημένη στην εφαρμογή σας.
Η επαληθευμένη Σελίδα προβολέα Doconut παρέχει τρέχουσες πληροφορίες προϊόντος. Η σελίδα λήψης και τεκμηρίωσης Doconut παρέχει πόρους εγκατάστασης και παραδείγματα ανά έκδοση.
Αν το εγκατεστημένο προϊόν εκθέτει μια υποστηριζόμενη ρύθμιση για απόκρυψη ή απενεργοποίηση μιας ενέργειας λήψης:
- Εφαρμόστε την σύμφωνα με την επίσημη τεκμηρίωση.
- Θεωρήστε την ως έλεγχο διεπαφής χρήστη και ροής εργασίας.
- Κρατήστε το σχετικό endpoint του διακομιστή προστατευμένο.
- Δοκιμάστε ότι οι μη εξουσιοδοτημένοι χρήστες δεν μπορούν να το παρακάμψουν με άμεσο αίτημα.
Μην αντιγράφετε υποτιθέμενες ιδιότητες διαμόρφωσης από άσχετο άρθρο και μην υποθέτετε ότι υποστηρίζονται.
6. Διατήρηση της ενσωμάτωσης του προβολέα πίσω από υπηρεσία
Μια αφιερωμένη υπηρεσία εφαρμογής μπορεί να:
- Εντοπίσει το εξουσιοδοτημένο έγγραφο
- Το ανοίξει μέσω μιας εγκεκριμένης αφαίρεσης αποθήκευσης
- Εφαρμόσει υποστηριζόμενη διαμόρφωση προβολέα
- Απελευθερώσει ροές και προσωρινούς πόρους
- Καταγράψει εξουδετερωμένα γεγονότα ελέγχου
- Επιστρέψει ασφαλή σφάλματα στον ελεγκτή
Αυτό κρατά τις λεπτομέρειες του SDK μακριά από τις πολιτικές εξουσιοδότησης και τον κώδικα παρουσίασης.
Τυπικοί τύποι .NET όπως Stream, FileStream, CancellationToken και υπηρεσίες που εισάγονται μέσω dependency injection μπορούν να σχηματίσουν το περιβάλλον της εφαρμογής. Ακολουθήστε την τεκμηρίωση του Doconut για κλήσεις στο SDK.
7. Εφαρμογή άμυνας σε βάθος
Μια ροή εργασίας μόνο για προβολή μπορεί να περιλαμβάνει:
- Αυθεντικοποίηση και εξουσιοδότηση επιπέδου πόρου
- Απομόνωση δικτύου και αποθήκευσης
- Σύντομη διάρκεια συνεδρίας
- Περιορισμένες διαδρομές εξαγωγής και εκτύπωσης
- Υδατογράφημα όταν υποστηρίζεται και είναι κατάλληλο
- Γεγονότα ελέγχου για πρόσβαση εγγράφου
- Όρια ρυθμού και ελέγχους ταυτόχρονης πρόσβασης
- Σαφείς κανόνες διατήρησης και καθαρισμού
- Παρακολούθηση ασφαλείας για ασυνήθιστα πρότυπα πρόσβασης
Κανένας μοναδικός έλεγχος δεν είναι επαρκής. Ένα κρυφό κουμπί χωρίς προστασία στο διακομιστή είναι ιδιαίτερα εύκολο να παρακαμφθεί.
8. Καταγραφή πρόσβασης χωρίς διαρροή δεδομένων
Χρήμαστικά πεδία ελέγχου περιλαμβάνουν:
- Αναγνωριστικό εγγράφου εφαρμογής
- Αναγνωριστικό εξουσιοδοτημένου χρήστη
- Χρονική σήμανση
- Ζητούμενη ενέργεια
- Αποτέλεσμα
- Αναγνωριστικό συσχέτισης
- Εξουδετερωμένος λόγος άρνησης ή αποτυχίας
Αποφύγετε την καταγραφή:
- Περιεχομένου εγγράφου
- Διαπιστευτηρίων αποθήκευσης
- Διακριτικών πρόσβασης
- Ευαίσθητων URLs
- Πλήρων διαδρομών διακομιστή
- Περιττών προσωπικών πληροφοριών
Προστατέψτε τα αρχεία ελέγχου ανάλογα με την ευαισθησία και τις απαιτήσεις διατήρησης.
9. Δοκιμή προσπαθειών παράκαμψης του UI
Μην σταματήσετε μετά την επιβεβαίωση ότι ένα κουμπί εργαλειοθήκης λείπει.
Δοκιμάστε αν ένας χρήστης μόνο προβολής μπορεί να:
- Ζητήσει άμεσα τη διαδρομή του αρχικού αρχείου
- Καλέσει μια διαδρομή εξαγωγής ή εκτύπωσης
- Αλλάξει το αναγνωριστικό εγγράφου
- Επαναχρησιμοποιήσει μια ληγμένη συνεδρία
- Πρόσβαση σε έγγραφο άλλου χρήστη
- Ανακαλύψει URLs αποθήκευσης στο markup ή στις απαντήσεις δικτύου
- Ενεργοποιήσει λεπτομερή σφάλματα που αποκαλύπτουν εσωτερικές διαδρομές
- Διατηρήσει πρόσβαση μετά την ανάκληση των δικαιωμάτων του
Συμπεριλάβετε τόσο αυτοματοποιημένες δοκιμές εξουσιοδότησης όσο και χειροκίνητες δοκιμές σε πρόγραμμα περιήγησης.
10. Θέσπιση ακριβών προσδοκιών χρήστη
Εξηγήστε τι κάνει η πολιτική:
- Περιορίζει τις παρεχόμενες από την εφαρμογή ροές λήψης ή εξαγωγής.
- Περιορίζει την πρόσβαση σε εξουσιοδοτημένους χρήστες.
- Μπορεί να καταγράφει γεγονότα προβολής.
- Κρατά το αρχικό αρχείο πίσω από ελέγχους διακομιστή.
Επίσης εξηγήστε τι δεν μπορεί να εγγυηθεί:
- Δεν μπορεί να αποτρέψει τη φωτογράφιση ή τα στιγμιότυπα οθόνης σε κάθε περιβάλλον.
- Δεν μπορεί να αναιρέσει πληροφορίες που ήδη έχουν δει και απομνημονεύσει.
- Δεν αντικαθιστά συμβατικές, οργανωτικές ή ελεγκτικές λύσεις ασφαλείας στα άκρα.
Αυτή η διάκριση κάνει το προϊόν πιο αξιόπιστο και βοηθά τα ενδιαφερόμενα μέρη να επιλέξουν κατάλληλους ελέγχους για εξαιρετικά ευαίσθητο υλικό.
Λίστα ελέγχου επαλήθευσης
- Η προβολή και η λήψη χρησιμοποιούν ξεχωριστά δικαιώματα διακομιστή.
- Κάθε αίτημα εγγράφου εκτελεί εξουσιοδότηση επιπέδου πόρου.
- Το αρχικό αρχείο δεν διαθέτει μόνιμο δημόσιο URL.
- Οι ρυθμίσεις του προβολέα προέρχονται από την τεκμηρίωση της εγκατεστημένης έκδοσης Doconut.
- Οι κρυφές ενέργειες έχουν προστατευμένα endpoints διακομιστή.
- Τα προσωρινά δεδομένα έχουν καθορισμένη διαδικασία καθαρισμού.
- Τα αρχεία ελέγχου αποφεύγουν το περιεχόμενο εγγράφου και μυστικά.
- Οι μη εξουσιοδοτημένες άμεσες αιτήσεις καλύπτονται από δοκιμές.
- Οι απαντήσεις σφαλμάτων δεν εκθέτουν εσωτερικές λεπτομέρειες αποθήκευσης.
- Το υλικό προώθησης δεν ισχυρίζεται απόλυτη πρόληψη αντιγραφής.
Πού εντάσσεται το Doconut
Το Doconut παρέχει το ενσωματωμένο επίπεδο προβολής μέσα στην εφαρμογή .NET. Η δική σας εφαρμογή παραμένει υπεύθυνη για ταυτοποίηση, εξουσιοδότηση, δικαιώματα, αποθήκευση, διατήρηση, έλεγχο και την αλήθεια της υπόσχεσης «μόνο προβολή».
Αξιολογήστε το SDK προβολέα εγγράφων .NET Doconut με τις απαιτήσεις ασφαλείας σας και με αντιπροσωπευτικά έγγραφα. Χρησιμοποιήστε τους επίσημους πόρους για υποστηριζόμενες ρυθμίσεις αντί να βασίζεστε σε υποτιθέμενο κώδικα πηγής.
Συμπέρασμα
Μια ροή εργασίας εγγράφου μόνο για προβολή είναι σχεδίαση άμυνας σε βάθος, όχι απλός δυαδικός δείκτης. Προστατέψτε το αρχικό αρχείο, εξουσιοδοτήστε κάθε αίτημα, διαχωρίστε τα δικαιώματα προβολής και λήψης, επικυρώστε τις υποστηριζόμενες ρυθμίσεις του προβολέα, ελέγξτε την πρόσβαση, και δοκιμάστε άμεσες προσπάθειες παράκαμψης της διεπαφής.
Με αυτά τα μέτρα σε θέση, το Doconut μπορεί να προσφέρει την ενσωματωμένη εμπειρία εγγράφου ενώ η εφαρμογή ASP.NET σας επιβάλλει την πολιτική ασφαλείας γύρω από αυτήν.