Free Newsletters:
DatabaseJournal  
DBANews
Database Journal
Search Database Journal:
 
HOME News MS SQL Oracle DB2 Access MySQL PostgreSQL PHP SQL Etc Scripts Links Discussion
internet.com

» HOME
» NEWS
» FEATURES
» SERIES
MS SQL
Oracle
MS Access
MySQL
DB2
» RESOURCES
Products
Scripts
Links
» DISCUSSION
» TECH JOBS

Marketplace Partners
Be a Marketplace Partner




internet.commerce
Be a Commerce Partner
Imprinted Gifts
Promos and Premiums
Computer Hardware
Auto Insurance Quote
Online Education
Promotional Gifts
Data Center Solutions
Televisions
Shop Online
Cell Phones
Web Hosting Directory
Car Donations
Baby Photo Contest
Home Improvement




MySpace Joins eBay, Yahoo in Open Profile Push

News Corp. Unit Under Fire for Ties to Hacker

Are Non-PC Devices Hurting 'Net Innovation?

internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Linked Data Planet Conference & Expo

CA ERwin® Data Modeler Proven database design and modeling. Efficiently analyze, design and deploy effective database solutions. Whitepaper: Manage SQL Server Deployments
Try it free: CA ERwin® Data Modeler


Solaris 8 Migration Assistant
Rapidly move your Solaris 8 application environments to new systems running Solaris 10 with the Solaris 8 Migration Assistant. Reduce migration risk while taking advantage of increased performance, reliability and security of the latest SPARC hardware platforms and Solaris 10 OS. »

 
Sun Eco Innovation: Good for Business, Good for the Environment
A complete solution to help you optimize and refresh your datacenter while properly recycling equipment and eliminating eWaste, including money-saving promotions to lower hardware acquisition costs. »

 
Sun Eco Innovation: Power Calculators
Power consumption has increasingly become a priority in customer's minds when purchasing new systems or storage. Sun's Power Calculators provide data on power consumption of Sun products allowing IT managers to better plan the power requirements in the datacenter to achieve better energy and cost savings. »

 
Optimize the Web Tier: Consolidate to Get More Performance in Less Space and Lower Power Consumption
Expansion in the Web tier is generally accomplished by adding more servers whenever extra capacity is needed. As the pool of servers grows larger, however, the complexity of the environment can grow exponentially. »

Production Manager (hands on)
Aquent
US-MA-Cambridge

Justtechjobs.com Post A Job | Post A Resume
MS Access
March 19, 2004
Book Review: Real World Access DB Protection and Security
By Danny Lesandrini

Hackers and Peepers and Thieves, Oh My!

I was asked to review Garry Robinson's new book, Real World Microsoft Access Database Protection and Security published by Apress, because I write reviews, not because I'm a security expert. In fact, my natural overabundant optimism made it difficult for me to rise to the level of paranoia required to really embrace all the security measures suggested in the book. After finishing the read, I have concluded that a little paranoia and cynicism might just save my hide some day.

One reason I was really looking forward to Garry's book was that it sounded like it was going to be more than just a verbose regurgitation of the Access Developer's Handbook security chapter. I was not disappointed. In fact, the author made a point of introducing fresh new ideas into the topic of Access security, even differentiating security methods from protection techniques.

One thing is evident: Garry Robinson has done his research! In addition to having a firm grasp on Access development and knowledge of the Access help files, he reveals some development gems that, if not undocumented, are at least hard to find. By the third chapter, I had learned something new that could change the way I develop access applications. More on that later ... it's my favorite tip!

Speaking of hackers, Garry adds the caveat: "I have been open about the issues caused by password-cracking software and quiet about some of the little issues that cause a threat. So, if you are thinking of using this book as a guide to help you pilfer someone's database asset, you will be disappointed."

Protection verses Security

Early on, a distinction is made between protection and security, but as the chapters unfold, the line between them seems to blur. The word security is generally applied to the steps involved in effectively enabling Access security whereas protection includes things like compiling your apps into MDE format, obfuscating the location of files and implementing operating system security to keep unwelcome guests from even browsing the files.

The second chapter immediately launches into one of the most important of these protection issues and it happens to be the easiest to implement: startup options. If you are not already aware of the effects of hiding the database window, suppressing full menus, disabling the bypass key and the like, then this is an important chapter for you. If you are familiar with these options, were you aware these properties could be set through code? If so, did you know that the last parameter of the CreateProperty method is an option that flags the property in such a way that only users who have admin permissions may change it?

Set Property = Object.CreateProperty Name, Type, Value, DDL

The object mentioned above is a Database object and the following code is used to create startup properties:

Dim dbs As DAO.Database, prp As DAO.Property
Set dbs = CurrentDb 

Set prp = dbs.CreateProperty("StartupForm", dbText, "frmMain", False)
dbs.Properties.Append prp

Set prp = dbs.CreateProperty("StartupShowDBWindow", dbBoolean, True, True)
dbs.Properties.Append prp

Once created, you can read and change their values using the simpler syntax:

dbs.Properties("StartupForm") = "frmNewStartForm"
dbs.Properties("StartupShowDBWindow") = False

The download that comes with the book includes an Access database with code to handle the above-described settings more gracefully than what I have published here. If, for example, the property does not exist and you attempt to read or write to it, you get an error. If, on the other hand, you try to create it and it does exist, that also generates an error. Garry's code takes care of all this, encapsulated into a form that may be imported into any Access database and used with your applications.

Another trick that falls more in the protection category than security is the ability to hide database objects, such as tables. This is the tip alluded to above that is my favorite. Keep in mind that it only works for versions 2000 and greater, but it is a nice line of defense. Access 97 did expose an attribute for tables called dbHiddenObject, but as Garry points out, setting this attribute to true would flag your table as temporary and it would be deleted during the next compact.

Newer versions of Access actually expose an application method for hiding and showing objects programmatically. Of course, if users can get to the Options form from the menu, they can simply toggle the Show Hidden Objects option to true and see your hidden forms, queries, etc., but the menu piece of the protection puzzle is covered in a later chapter. Here are some examples of reading and writing hidden attributes.

Application.SetHiddenAttribute acForm, "frmMain", True
fIsHidden = Application.GetHiddenAttribute acReport, "rptSales"

This chapter mentions two other really cool features that work with all versions of Access, but apply only to tables. One way to hide a table is to name it with the prefix of Usys. Therefore, if you create a new table and name it UsysCustomers, it will disappear from the database window.

The other cool trick is to set the attributes of a table to dbSystemObject. Doing so causes the table to be treated like the Msys system tables. Not only does this hide the object when the Show System Objects option is cleared, it causes the tables to be non-updateable from the database window. You cannot add or edit records in any table that has this code applied to it:

dbs.TableDefs("tblOrders").Attributes = dbSystemObject

The strange but useful oddity to this setting is that, while it is not editable from the database window, it still works fine when bound to a form. This is a simple and effective way to protect data in tables from power users who may like to browse data casually. This was the tip I mentioned above as my favorite and it says a lot about the depth of Garry Robinson's knowledge and/or research on the subject.

The next few chapters discuss topics that one may or may not ordinarily associate with security. For example, Garry looks at each of the following from a security and protection standpoint.

  • Use of AutoExec and AutoKeys macros
  • Splitting data from client
  • Implementation of error handling
  • Compacting and backing up your database
  • Exporting and importing objects to and from text files
  • User surveillance techniques
  • Effective use of menus and toolbars

Security at its best

From what I gleaned, I am going to split the security topic into two segments: Access Workgroup Security practices and Windows Operating System security issues. As mentioned above, the suggestions given for using Access security are not topics I have seen covered in many of the other Access programming books I have read. Garry describes the process he has developed over the years to create a secure environment for the user while simplifying the logon process. He calls this the Anonymous Windows Authentication Method which, when used with Windows 2000 or Windows XP group accounts, provides a simple and secure way for users to log on to your databases.

Since this is the meat and potatoes of the book, I will refrain from stealing Garry's thunder by reproducing his logic here in this article. Even if I wanted to, I realize that my lack of expertise with Access Workgroup Security coupled with the lack of space for this article would make that impossible. Being relatively unfamiliar with Access security, I had to read over this section twice and even then, I did not really begin to understand it until I hashed it out with some members of my local Access user group.

Should you buy this book?

If you need a solid method for securing your Access databases that goes beyond what you might glean from the help file or from basic Access books, then you need this book, Real World Microsoft Access Database Protection and Security. Peter Vogel, who wrote the book's forward, said it is a volume he will keep near at hand. If that is how Peter feels, then how much more so will this book deserve shelf space at my programmer's nook?

If, however, you do not have pressing Access security needs you may still find this book extremely beneficial. While writing this review I flipped through the book looking for my notes and points I had highlighted with a red marker. They were numerous and it was difficult choosing what I wanted to highlight (and/or reveal) here in this article. Because the book explores all aspects of security, not just creating a workgroup file and setting permissions, we get a glimpse into some of the really clever ways to use Microsoft, things that Garry Robinson has picked up in the decade or so he has been programming with Access. While not a verbose tome, weighing in at less than 500 pages, it is packed with valuable information that is sure to enhance every aspect of the Access database applications you create.

» See All Articles by Columnist Danny J. Lesandrini

Real World Microsoft Access Database Protection and Security

Garry Robinson

ISBN: 1590591267

Price: $41.99

Tools:
Add databasejournal.com to your favorites
Add databasejournal.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

MS Access Archives

Download: SQL Compare Pro 6--The fastest, easiest way to compare and synchronize two databases.
Learn Tools & Techniques to Justify and Fund Your IT Investments. Download Complimentary Report Now!
Five Trends for Application Development & Program Management. Download Complimentary Report Now.
IT in 2018: Download Free eBook By The Author Of "Does IT Matter?" Simple Registration Is Required.
Learn about expanding business opportunities for the reseller channel. Visit IT Channel Planet.


Latest Forum Threads
MS Access Forum
Topic By Replies Updated
Export a report into excel Irina_5220 2 May 9th, 08:48 AM
Table Property Question barlowr70 0 May 6th, 10:51 AM
Compile MS Access Database samson 1 May 1st, 03:28 AM
How to connect MS-Access with c++ rockys111 0 April 30th, 01:36 AM







JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES