Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#11
| |||
| |||
Καλημέρα κι από εμένα.. Λιγάκι καθυστερημένη η απάντηση.. αλλά κάλιο αργά παρά ποτέ που λένε! :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! |
#12
| |||
| |||
Πως ακριβώς δουλεύει αυτό.Μπορεί κάποιος να δώσει παράδειγμα;
|
#13
| ||||
| ||||
Καλησπέρα Στο κώδικα που ακολουθεί,... Κώδικας: Private Sub klidoma() Dim sernum As Variant, varX As Variant Dim Fso As New Scripting.FileSystemObject sernum = Fso.GetDrive("c:\").SerialNumber varX = DLookup("[snum]", "tblsernumber", "[ID] = 1") If IsNull(varX) Then DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO tblsernumber ([snum]) VALUES (" & sernum & ")" DoCmd.SetWarnings True Else If sernum <> varX Then MsgBox "Δεν έχετε την άδεια χρήσης !", vbCritical, "Έλεγχος" DoCmd.Quit End If End If End Sub Την πρώτη φορά ο πίνακας θα συμπληρωθεί με τον σειριακό αριθμό του σκληρού σου δίσκου και κάθε επόμενη φορά θα διαβάζει τον αποθηκευμένο αριθμό, συγκρίνοντάς τον με αυτόν του υπολογιστή στο οποίο καλείται να "τρέξει". ΠΡΟΣΟΧΗ : Κράτα αντίγραφο ...μη μείνεις απέξω. Με εκτίμηση / Νίκος |
#14
| |||
| |||
Σε ευχαριστώ Νίκο, πολύ χρήσιμο.
|
#15
| |||
| |||
Νίκο τα έκανα αυτά που είπες αλλά μου βγάζει σφάλμα.Δεν ξέρω τι μπορεί να κάνω λάθος. Δημιούργησα τον πίνακα με τα πεδία όπως καθορίζει η ρουτίνα την οποία καλώ από την πρώτη φόρμα που ανοίγει ("με τη φόρτωση"), μου βγάζει όμως compile error όπως θα δεις στο συνημμένο αρχείο. |
#16
| ||||
| ||||
Καλημέρα Στον Editor : Tools ... References ... ενεργοποίησε το microsoft scripting Runtime. με εκτίμηση / Νίκος |
#17
| |||
| |||
Νίκο το έκανα αλλά πάλι δεν δουλεύει. ΟΛΑ ΚΑΛΑ ΤΟ ΕΦΤΙΑΞΑ. Τελευταία επεξεργασία από το χρήστη smasak : 29-03-15 στις 20:00. |
#18
| ||||
| ||||
...Μάλλον ξέχασες να πατήσεις ΟΚ !
|
#19
| |||
| |||
Άρα συμπέρασμα ΔΕΝ μπορούμε να έχουμε ασφάλεια με ACCESS Για να αυξήσουμε τη δυσκολία οι πίνακες να μην υπάρχουν καν ουτε συνδεδεμένοι...αλλά να τρέχουν με κώδικα σε κάθε περίπτωση. Δηλαδή φτιάχνουμε μια VB εφαρμογή καθαρή και οι πίνακες σε server SQL και κωδικοιποιμένοι. |
#20
| |||
| |||
Παράθεση:
Σε περίπτωση που "κρασάρει" ο Η/Υ και χρειασθεί εκ νέου format τι γίνεται;Χάνονται τα πάντα ή μπορούμε να κάνουμε κάτι; |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Ασφάλεια Βάσης Δεδομένων | jimvasiloudis | Access - Ερωτήσεις / Απαντήσεις | 11 | 03-02-12 10:13 |
Ασφάλεια Βάσης Δεδομένων | Meteora | Access - Ερωτήσεις / Απαντήσεις | 11 | 13-12-11 10:38 |
[ Ασφάλεια] Ασφάλεια Βάσης δεδομένων σε επίπεδο χρήστη | TZON_FON | Access - Ερωτήσεις / Απαντήσεις | 4 | 26-09-10 21:28 |
[ Ασφάλεια] Ασφάλεια βάσης δεδομένων - Access 2000 | artchrist73 | Access - Ερωτήσεις / Απαντήσεις | 5 | 10-08-10 12:30 |
Η ώρα είναι 20:46.