| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Παιδεια γεια σας, επανέρχομαι και πάλιν μετά απο αρκετο καιρο και ζηταω την βοήθεια σας για ενα θέμα το οποίο απασχολεί αρκετα μέλη του φορουμ. Το θέμα και ερώτηση φυσικά ειναι αν και κατα ποσο υπάρχει τροπος έτσι ώστε να διασφαλισω την παράνομη (δίχως εξουσιοδότηση από μέρους μου) αντιγραφή της βάσης δεδομένων την οποία έχω δημιουργήσει.Και εξηγώ τι εννοώ:χρειάζομαι ένα τρόπο έτσι ώστε όταν κάποιος πάρει την βάση δεδομένων μου από τον υπολογιστή που θα εγκατασταθεί την πρώτη φορά να μην μπορεί να την εγκαταστήσει σε ένα άλλον υπολογιστή χωρίς προηγουμένως πάρει την εγκρισή μου (ίσως να πρέπει να του ζητά κάποιο κωδικό admin). Απολογούμαι για τυχόν λάθη στην διατύπωση μου καθώτι γράφω με το δεξί χέρι στο γύψο |
|
#2
| ||||
| ||||
|
Καλημέρα Εσύ θέλεις να στείλεις στην ανεργία τους hackers; Θα έχεις μια σχετική ασφάλεια, αν διαβάζεις τον αριθμό του σκληρού δίσκου του υπολογιστή -όπου έχει εγκατασταθεί η εφαρμογή. Στον κώδικα που ανεβάζω ο αριθμός του σκληρού δίσκου αποθηκεύεται την πρώτη φορά σε πίνακα και αυτό σημαίνει ότι κάθε επόμενη φορά που ανοίγει η εφαρμογή, πρέπει να διαβάζει τον συγκεκριμένο αριθμό. Η ρουτίνα θα καλείται από το συμβάν "με τη φόρτωση" της πρώτης φόρμας που ανοίγει και ο πίνακας φυσικά θα είναι σε κλειδωμένη βάση (διαιρείς τη βάση και κλειδώνεις αυτή με τους πίνακες). Κώδικας: Public Function elegxos()
Dim sernum As Variant, varX As Variant
Dim Fso As New Scripting.FileSystemObject
sernum = Fso.GetDrive("c:\").SerialNumber
varX = DLookup("[snum]", "tblsernumber", "[ID9] = 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 Function
Με εκτίμηση Νίκος |
|
#3
| |||
| |||
|
Καλημέρα Νίκο και ευχαριστώ για την βοήθεια. Αναζητώ το κλείδωμα φίλε και για τους δύο λόγους που αναφέρεις καθώς πρωτίστος έχω δουλέψει αρκετούς μήνες στην δημιουργία του προγράμματος, και αφετέρου επειδή έχω να κάνω με πολύ ευαίσθητες προσωπικές και ιατρικές πληροφορίες ατόμων των οποίων τα στοιχεία τουσ είναι μέσα στην βάση μου. Αντιλαμβάνομαι πλήρως (πιστεύω) τα σχετικά με τον κώδικα που μου προτείνεις όμως δεν γνωρίζω καθόλου την άλλη διαδικασία με το σπάσιμο του προγράμματος φίλε, μήπως θα μπορούσες να μου εξηγήσεις πως γίνεται κάτι τέτοιο? Φιλικά Γιώργος |
|
#4
| ||||
| ||||
|
Καλησπέρα. Δες στο επισυναπτόμενο τη διαδικασία διαίρεσης της βάσης... Υστερολόγιο: Ένας "φτασμένος" στην Access, ΠΟΤΕ δεν θα αντιγράψει κώδικα! Εξάλλου κάνε το αρχείο σε *.accde οπότε ο κώδικας δεν μπορεί να τον δει κανείς. Όσο για τα δεδομένα, αυτά ποτέ δεν έχουν απόλυτη ασφάλεια... Νίκος |
|
#5
| |||
| |||
|
Καλησπέρα Νίκο Ευχαριστώ για τις χρήσιμες πληροφορίες, θα δοκιμάσω την διαδικασία που προτείνεις αύριο και θα επανέλθω. Υ.Φ. προσωπικά δεν θεωρώ τον εαυτό μου φτασμένο στην access και ιδιαιτέρως στην vba. Άλλωστε αν είμουν φτασμένος δεν θα απευθυνόμουν για βοήθεια.. νάσαι καλά φίλε και σε ευχαριστώ |
|
#6
| ||||
| ||||
|
Καλημέρα Περιβάλλον Editor ...Tools ... References ... ενεργοποίησε το Microsoft Scripting Runtime. Τα ξαναλέμε... Νίκος |
|
#7
| |||
| |||
|
Καλημέρα Νίκο, Μια δευκρίνηση απλά, όταν και εφόσον "σπάσω" το πρόγραμμα μου θα μπορώ παρόλα αυτά να κάνω αλλαγές σε αυτό? Φιλικά, Γιώργος |
|
#8
| ||||
| ||||
|
Γιώργη, κρατάς Backup! Το διαιρεμένο πρόγραμμα κάνεις ό,τι θες. Ανοίγει ανεξάρτητα η βάση με τους πίνακες και φυσικά ανοίγεις την εφαρμογή όπως πριν. Όμως! ΠΡΟΣΟΧΗ Αν το κομμάτι της εφαρμογής που περιέχει τον κώδικα, τα ερωτήματα, ... (δηλαδή τα πάντα πλην πινάκων), μετατρέψεις σε *.accde τότε δεν πρόκειται να προσεγγίσεις τον κώδικα ούτε εσύ, ούτε κάποιος άλλος. Άρα κρατάς αντίγραφο σε κάθε περίπτωση. Κάνε αυτά που λέμε -έστω δοκιμαστικά και μετά θα προχωρήσουμε τη συζήτηση σε επόμενα. Αν στα πω/γράψω όλα μαζί, ενδεχομένως θα έχεις δυσκολίες διαχείρισης... Νίκος |
|
#9
| |||
| |||
|
καλημέρα Νίκο, "Εχω δοκιμάσει την διαδικασία οπως μου την έχεις εξηγήσει και είναι μια χαρά. Αν και δυσκολεύτηκα ομολογώ αρχικά στην κατανόηση σχετικά με τον τρόπο ¨"σπασίματος" της βάσης, στην τελικη τα βρήκα και είμαι οκ. Νάσαι καλά φίλε και σε ευχαριστω. Φιλικά, Γιώργος |
|
#10
| |||
| |||
|
Καλησπέρα, προσωπικά προτιμώ την εξής προσέγγιση: Front End = Access (μορφή αρχείου .accde για την προστασία του κώδικα) Back End = (Όσο κι αν την λατρεύω την Access προτιμώ πιο solid καταστάσεις όπως SQL Express η οποία δου δίνει την ασφάλεια των δεδομένων σου στο πιάτο, ταχύτητα και εύκολη χρήση της εφαρμογής σου στο δίκτυο) Κλείδωμα = Για τα δεδομένα δεν θα αναφέρω κάτι μιας και πιστεύω πως έχει καλύφθεί με την SQL. Φυσικά αν κάποιος ανοίξει το Front End μπορεί να σβήσει να γράψει κλπ κλπ κλπ. Οπότε ένα σύστημα χρηστών είναι αυτό που χρειάζεται η εφαρμογή. Όσο για το αν κάποιος μπορεί να αντιγράψει το αρχείο του front end, ναι μπορεί να το κάνει, αλλά!: α) αν αυτό βλέπει στην SQL ας το έχει να το χαίρεται.. (αν παίζει και το σύστημα χρηστών ακόμη καλύτερα..) β) Προσωπικά προτιμώ να παίζω με τον αριθμό της CPU (όπως αναφέρθηκε παραπάνω αντίστοιχα για τον αριθμό του HDD) ώστε ακόμα και αν έχει την SQL database (εδώ κλαίμε τα δεδομένα μας...) και το fron end να μην μπορεί να το ανοίξει. (Μπορείς ακόμη να "φυτέψεις" τον αριθμό της cpu σου στον κώδικα και απλά να παντρέψεις το front end με το pc σου)... Συμβουλή: Όταν με το καλό εφτασα να έχω έτοιμη την πρώτη μου εφαρμογή με SQL, Σύστημα χρηστών και front end σε Access, φρόντισα να κρατήσω ένα καθαρό αντίγραφο αυτών bakup για μετέπειτα χρήση. Όσο ωραίο κι αν ακούγεται, σίγουρα δεν είναι και ότι πιο απλό. Φιλικά, Αγγελος
__________________ Always Look on the Bright Side of Life! |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Η ώρα είναι 19:29.


Αλλαγή σε γραμμικό τρόπο
