![]() | |
#1
| |||
| |||
|
#2
| ||||||
| ||||||
|
|
I've been working with FM since version 3. The standard way of keeping users from doing dumb things such as pressing command + D to delete a record, was to lock out the menu commands except for editing purposes. All other functions were scripted with appropriate test performed in the script. The same thing can be done in FM7, however the user can easily bypass this security. |
|
Assuming I have 2 files; Screens.fp7 and Data.fp7 each containing 2 passwords developer access and user access. User access can create & delete records in all tables, can NOT modify scripts nor layouts. |
|
The "Screens" file opens with user access automatically and displays data from the "Data" file. When the user clicks the delete button, the script does its check then deletes the record, no problem. |

|
To bypass all this, the user would simply have to do the following: - create a new FM file eg. "UsersNewFile.fp7" (where he has full access) - go to "Define File References" - add a file reference to my "Data.fp7" file - go to "Define Relationships" - add a table occurrence selecting one of the tables in my "Data" file (developer pwd is NOT asked for) - create a new layout for the table reference which is actually a table in my "Data" file - in browse mode the user now has access to all menu commands for that table, including "Delete ALL Records" |

|
Aside from this, the user can create scipts in his file and simply link them to my file since he can see a complete list of my scripts. And if all that wasn't bad enough, if I haven't bound (created a runtime and stripped out master access) the files he can get my field calculation formulas using apple script which is where I used to store validations for access codes. |
|
ALL THIS can be done without ever knowing the master password to the file. How are other people getting around this problem? |
![]() |
| Thread Tools | |
| Display Modes | |
| |