Hi
I have a library mde that is used with some customer databases and I found
out that another developer discovered it while doing some maintenance work
on an old database for the same customer and has copied it to use with her
databases. Naturally, I was not impressed and that story continues. It was
not the customers fault.
I assume she took a copy of the original code from the customers database
and is working out how to use the library mde from that. For this customer
the database is supplied with all source code and not compiled into an mde.
There are also a few other situations where I suspect the mde may be getting
reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over
the years and am using it more and more in systems developed for clients and
had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put
together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at
this stage.
Any suggestions on a reasonably simple method of stopping, or at least
limiting, this from happening again would be appreciated.
Jeff
Dec 20 '05
44 2483
How can you secure a library MDE with user level security? Especially when
some clients must be able to use the library with databases they create.
I thought of giving the client a code that the library checks for, but if
someone gets hold of their MDB front-end that uses the library then they can
find the code etc.
"Keith Wilby" <he**@there.com > wrote in message
news:43******** **@glkas0286.gr eenlnk.net... "Jeff" <je************ @asken.com.au> wrote in message news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Is one of them user-level security? Sure it can be broken, but that would cost your rival money.
Keith. www.keithwilby.com
What do you mean domain? These are run in local networks.
"Tom van Stiphout" <no************ *@cox.net> wrote in message
news:qe******** *************** *********@4ax.c om... On Wed, 21 Dec 2005 08:54:55 +1000, "Jeff" <je************ @asken.com.au> wrote:
Perhaps I would in each function check the name of the domain the code is running on. If you only run this MDE in a few locations, that might be all that's needed. Domain names don't change all that often, but when they do, be ready for a support call and a free upgrade.
Although I like Lyle's sentiment of being challenged to write a better function tomorrow, I wouldn't give my library away either.
-Tom.
Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an mde.
There are also a few other situations where I suspect the mde may be getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over the years and am using it more and more in systems developed for clients and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
On Wed, 21 Dec 2005 23:20:18 +1000, "Jeff"
<je************ @asken.com.au> wrote:
Detect the domain or workgroup the computer is a member of.
-Tom. What do you mean domain? These are run in local networks.
"Tom van Stiphout" <no************ *@cox.net> wrote in message news:qe******* *************** **********@4ax. com... On Wed, 21 Dec 2005 08:54:55 +1000, "Jeff" <je************ @asken.com.au> wrote:
Perhaps I would in each function check the name of the domain the code is running on. If you only run this MDE in a few locations, that might be all that's needed. Domain names don't change all that often, but when they do, be ready for a support call and a free upgrade.
Although I like Lyle's sentiment of being challenged to write a better function tomorrow, I wouldn't give my library away either.
-Tom.
Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an mde.
There are also a few other situations where I suspect the mde may be getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over the years and am using it more and more in systems developed for clients and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... How can you secure a library MDE with user level security? Especially when some clients must be able to use the library with databases they create.
I thought of giving the client a code that the library checks for, but if someone gets hold of their MDB front-end that uses the library then they can find the code etc.
Yes, fair point. I hadn't quite grasped the complexity of the situation
(and probably still haven't).
As far as the 'registration code'-type idea goes, you could use a code
that is generated by each machine the database runs on. Then, if you
are writing a database for CompanyX to use on internal domain yza, you
can have your program compute the code on startup and check to see if
it matches the 'permanent' code stored in a hidden table/registry
setting. The 'permanent' code would be set by you when the database is
set up on the client machine. Basically I'm talking about a different
application for the old password-hashing scheme, but using a
machine/domain-dependent algorithm instead of a user's password.
If the code generated on startup is different than the stored code, you
could then take action. A messagebox alerting the user of the problem,
or, perhaps more appropriate, a modal pop-up form with DoCmd.Exit in
its Close event.
The problem with this scheme, or any environment-dependent scheme, is
that if your rival is working on your clients' machines, she'll have
access to everything. All she'd have to do is copy 'n' paste to get
your code. Setting up a system like this, however, would make it more
difficult for her.
"Jeff" <je************ @asken.com.au> schreef in bericht news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... That may work if they only had an MDE front-end. But a lot of clients have the uncompiled MDB file for the front-end. That would of course have the code to so this and therefore easily duplicated. That is the main problem. With a MDB front-end anything I add to it is open to the world.
Hmmm. ... true indeed...
Your mde-code needs to check for something that is *not* coded in the mdb, right?
So the suggestion of using the ldb-file could work or not??
Let all your mde-functions check the existence of a specific ldb-file...
Arno R
Simplest way is to use a key on each function call. Do something like use
guidgen to generate a GUID and then use it as a key when you call into the
function/procedure check the value of the key passed in the function if it
matches then carry on if it fails to match then kick out without any
processing.
It's not 100% secure but will probably stop 99.9% of people utilising your
library.
I'm taking it that your distributed apps are compiled to MDEs as well as
your library database
e,g,
In your app
Public const FUNCTION_KEY = "{E9159311-865A-47f0-8867-C483C366F4D2}"
Sub Somprocedure()
' Call intothe library
Call LibProc(FUNCTIO N_KEY, otherparam1, otherparam2)
End sub
Then in the library
Public const FUNCTION_KEY = "{E9159311-865A-47f0-8867-C483C366F4D2}"
Sub LibProc(key as string, Wrg1, Arg2)
If StrComp(key, FUNCTION_KEY, vbComparebinary ) <> 0 then Exit Sub
' Existing code here
End sub
It's bit cludgy but it's simple.
--
Terry Kreft
"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an mde.
There are also a few other situations where I suspect the mde may be getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over the years and am using it more and more in systems developed for clients and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
Ahh, from later posts I see you're not using mdes. So forget this.
--
Terry Kreft
"Terry Kreft" <te*********@mp s.co.uk> wrote in message
news:OF******** ************@ka roo.co.uk... Simplest way is to use a key on each function call. Do something like use guidgen to generate a GUID and then use it as a key when you call into the function/procedure check the value of the key passed in the function if it matches then carry on if it fails to match then kick out without any processing.
It's not 100% secure but will probably stop 99.9% of people utilising your library.
I'm taking it that your distributed apps are compiled to MDEs as well as your library database
e,g, In your app
Public const FUNCTION_KEY = "{E9159311-865A-47f0-8867-C483C366F4D2}" Sub Somprocedure() ' Call intothe library
Call LibProc(FUNCTIO N_KEY, otherparam1, otherparam2) End sub
Then in the library
Public const FUNCTION_KEY = "{E9159311-865A-47f0-8867-C483C366F4D2}" Sub LibProc(key as string, Wrg1, Arg2) If StrComp(key, FUNCTION_KEY, vbComparebinary ) <> 0 then Exit Sub
' Existing code here End sub
It's bit cludgy but it's simple.
-- Terry Kreft "Jeff" <je************ @asken.com.au> wrote in message news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an mde.
There are also a few other situations where I suspect the mde may be getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over the years and am using it more and more in systems developed for clients and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
Create a list of all your applications in the library, then have an
initialization function check the database properties of your front end. It
would be hard for a 3rd party to know what your library is looking for. If
they figured it out they would have to duplicate your application name.
"Jeff" <je************ @asken.com.au> wrote in message
news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an
mde. There are also a few other situations where I suspect the mde may be
getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed
over the years and am using it more and more in systems developed for clients
and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they
put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
If you have to touch the library every time you create a new app that sort
of defeats the point of having a library.
--
Terry Kreft
"paii, Ron" <pa**@packairin c.com> wrote in message
news:3c******** *************** *******@athenet .net... Create a list of all your applications in the library, then have an initialization function check the database properties of your front end. It would be hard for a 3rd party to know what your library is looking for. If they figured it out they would have to duplicate your application name.
"Jeff" <je************ @asken.com.au> wrote in message news:43******** *************** @per-qv1-newsreader-01.iinet.net.au ... Hi
I have a library mde that is used with some customer databases and I found out that another developer discovered it while doing some maintenance work on an old database for the same customer and has copied it to use with her databases. Naturally, I was not impressed and that story continues. It was not the customers fault.
I assume she took a copy of the original code from the customers database and is working out how to use the library mde from that. For this customer the database is supplied with all source code and not compiled into an mde. There are also a few other situations where I suspect the mde may be
getting reused without my permission.
Basically, the mde contains a whole bunch of functions I have developed over the years and am using it more and more in systems developed for clients and had not really worried about it being knocked off, so to speak, until now.
After this little incident I have given this some thought.
I want to allow some customers to reuse the library with databases they put together, but stop this rip off happening again.
I have considered a few options, but am not really that happy with any at this stage.
Any suggestions on a reasonably simple method of stopping, or at least limiting, this from happening again would be appreciated.
Jeff
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: MattB |
last post by:
I'm moving some code from my asp.net application into a vb.net library so it
can be reused easily elsewhere. I have a vb class in my asp.net application
and I just took a copy of that file and made it a new class in a new VS.net
class library.
Now when I look at my new class in my new library, several of the imports
statements are being flagged by intellisense as invalid (that work fine in
the asp.net app). It looks to be any system.web...
|
by: electrician |
last post by:
While running a program that exceeds the array limits it issues an
alert. I want to then stop the program after filling in the output
boxes with blanks. How do you stop the program?
I have worked on this for days and tried searching the net, but have
found nothing.
|
by: petermichaux |
last post by:
Hi,
I've been asking questions about library design over the last week and
would like to get feedback on my overall idea for a JavaScript GUI
library. I need a nice GUI library so there is a good chance I will
write this as I need new widgets. I haven't found anything like this
and I'm surprised/disapointed this doesn't already exist. My library
prototype works nicely. I think parts of these ideas are not commonly
used for JavaScript...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |