If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > PC based Database Applications > Microsoft Access > How do you protect a database that you have developed from being shared or copied

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 08-31-10, 02:49
tqz tqz is offline
Registered User
 
Join Date: Apr 2009
Posts: 11
How do you protect a database that you have developed from being shared or copied

Hello all

I am developing some access based applications and need to ensure that only the person that paid for the product can use the application and no one else i.e. if they have not paid they can not use the product or if they make copies they cant install it on other machines or give to others to use.

My first thought was to have an activation code on the product that if not entered after x days would ensure that the application would not start up. But the problem with this is that the activation code can be used on the "copies" too.

My next thought was for the application to produce a report that would give the serial number of the product (unique), and a unique id based on the valid users computer. Based on this the application would create an activation code but this would be unknown to the user. In order to activate the product they would send this information to me (the report) and I would give the user the activation code which has already been created by the app and stored within the database. There would also be another master code that I would use in just in case situations.

Any pitfalls with this solution? ANy beeter solutions? I dont have a website so web based solutions are out for the time being.

I should also add that some of the products are being developed by Access 2000 (yes old!) and the newer databases will be developed using the latest access 2010.

Thanks for any advice or tips in adv.

t.
Reply With Quote
  #2 (permalink)  
Old 08-31-10, 04:49
healdem healdem is offline
Jaded Developer
 
Join Date: Nov 2004
Location: out on a limb
Posts: 9,246
split the db into a front end which contains all the user interface (the forms, queires reports and so on) and the data in the back end

deploy as an MDE (or at least deploy the front end as an MDEso people cannot look at, modify or whatever your front end

talk to someone expert in the field of licencinsg as to what you can or can't do in terms of activation code. I seem to remember there beeing a nasty court case a while back which a developer who put in timed activations codes lost.

one way to is build in obsolecence into the app. say you put a date validation which can't be more than a specific point in time, say one year.. with a warning after nine months the licence is about to expire. allow users to keep entering data after the expiry of the date, but don't report it anywhere, and don't let the data after the expiry point to be displayed or used in aggregations.

examining the lock file for the data component/back end should allow you to determine who (computer and user) has got the app open. it should be possible to work out how many copies are open and take appropriate actions.

stopping people making copies is far far trickier.

you can write an install script which requests an activation code from you. if you want you can probably get the logical disk id using one of the system functions possibly via vbscript

ultimately Access isn't an especially secure development environment. its realtively easy to circumvent the casual script kiddie. its much harder deterring a direct attack from a determined and knowledgeable attacker
__________________
I'd rather be riding my Versys or my Tiger 800 let alone the Norton
Reply With Quote
  #3 (permalink)  
Old 08-31-10, 23:01
pkstormy pkstormy is offline
Moderator
 
Join Date: Dec 2004
Location: Madison, WI
Posts: 3,925
You could always get a lawyer involved who would just hold onto the 'source' (mdb/accdb) code (which shouldn't cost much to do). You could then just supply the mde as healdem suggested and put limited options in it until it's fully paid for.

Izyrider posted this example on serials a while back which may or may not be helpful: DBForums Code Bank
__________________
Expert Database Programming
MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)
Reply With Quote
  #4 (permalink)  
Old 09-01-10, 00:04
HiTechCoach HiTechCoach is offline
Registered User
 
Join Date: May 2010
Posts: 600
Also check out:

KeyedAccess
__________________
Boyd Trimmell aka HiTechCoach HiTechCoach.com (free access stuff)
Microsoft MVP - Access Expert
BPM/Accounting Systems/Inventory Control/CRM
Programming: Nine different ways to do it right, a thousand ways to do it wrong.
Binary--it's as easy as 1-10-11
Reply With Quote
  #5 (permalink)  
Old 09-01-10, 13:37
izyrider izyrider is offline
Cavalier King Charles
 
Join Date: Dec 2002
Location: Préverenges, Switzerland
Posts: 3,729
here's a long rambling discussion of a hypothetical licencing scheme using only Access.

you should certainly not use the scheme as described in the discussion (it is public knowledge!), but maybe some of the ideas will help.

izy
__________________
currently using SS 2008R2
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On