
05-12-12, 09:45
|
| Super Moderator Όνομα: Αγγελος Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 29-04-2010
Μηνύματα: 111
| |
Καλημέρα κι από εμένα..
Λιγάκι καθυστερημένη η απάντηση.. αλλά κάλιο αργά παρά ποτέ που λένε! :D :P
Επειδή αντιμετώπισα το πρόβλημα του φίλου μας σε εφαρμογή μου για πελάτη, τελικά κατέληξα στην λύση της SQL με .accde αρχείο για τους χρήστες μου.
Ποιο συγκεκριμένα, η εφαρμογή είχε 2 σκέλη:
α) την ασφάλεια των δεδομένων και β) την ταχύτητα της Access εφαρμογής!
Σχετικά με την ασφάλεια δεδομένων, θα σας πω πως θεωρώ τον πιο ασφαλή τρόπο την βάση δεδομένων σε SQL, τα δεδομένα σου είναι σε κάποιον server κοινόχρηστα και με την ασφάλεια που σου προσφέρει ένας Domain Controller σε συνδυασμό με την ασφάλεια της SQL. Εάν δεν υπάρχει κάποιος Server, οκ απλά έχεις τις δικλίδες ασφαλείας της SQL..
Ο λόγος που είναι ασφαλές?
α) Σε δίκτυο με Domain Controller έλεγχος από τον Server (Δικαιώματα κλπ) ή τοπικός SQL έλεγχος χρήστη από την SQL.
β) FrontEnd περιβάλλον για τον χρήστη, όπως το εξήγησε ποιο πάνω ο Τάσος. (split, reconnect db tables "εδώ κλειδώνει με κωδικό στον SQL ή στον Domain Controller η βάση)
γ) Κωδικός πρόσβασης στο αρχείο front end (login_splash απο τον Τάσο)
δ) Προστασία του αρχείου για: Shift κατά το άνοιγμα, απο πλήκτρα συντομέυσεων (π.χ. F5, F1, F11, F12 κλπ)
ε) Κλείδωμα του αρχείου σε μορφή .accde (για να αποτρέψουμε πιθανές τροποποιήσεις σε φόρμες, εκθέσεις, κώδικα κλπ)
στ) Δημιουργία δικού μας Ribbon για την εφαρμογή
ζ) Επιβεβαίωση χρήστη με χρήση του CPU_ID (καλό είναι για τον Super_User να παρακαμφθεί αυτό το βήμα) καθώς επίσης και επιβεβαίωση για την ύπαρξη του αρχείου στον δίσκο
Πολύ πιθανό, κάπου να υπάρχει κάποια "τρύπα" στα παραπάνω, αλλά ποτέ και τπτ δεν είναι ασφαλές..
Για την δική σου περίπτωση όμως, πιστεύω πως είναι οκ, γιατί:
α- και να αντιγράψει κάποιος το αρχείο της Access σε φλασάκι, ούτε καν να το ανοίξει δεν θα μπορεί
β- ακόμα και backup των δεδομένων (με κάποιο μαγικό τρόπο) να μπορέσει να πάρει, θα πρέπει να στήσει SQL Server, να περάσει πάνω το Backup, να παρακάμψει το CPU_ID (που δεν ξέρει καν πως υπάρχει ως έλεγχος μέσα στην εφαρμογή, μπορείς να αποθηκεύσεις το cpu_id.dll όπου κι αν θέλεις στον δίσκο σου.. ) ή να βρει για ποιον χρήστη δεν λειτουργεί το κλείδωμα του cpu_id εάν φυσικά έχει αποθηκεύσει σωστά το αρχείο στον δίσκο του.
Όλα τα παραπάνω φυσικά, εάν έχει στα χέρια του ένα bakup των δεδομένων και ξαναστήσει απο την αρχή το frontent είναι άχρηστα..
Όπως ξαναείπα, τίποτα δεν είναι απόλυτα ασφαλές.
Φιλικά, Άγγελος
__________________
Always Look on the Bright Side of Life!
|