On Monday 22 December 2003 09:37, Denis wrote: > Hi Richard.. > > If your users are required to fire only SELECT and no DML, you can do the > following: > > BEGIN; > execute the statements given by user > ROLLBACK; > > This will not affect your SELECT and also if any malicious user gives > DELETE statement, that will not have any impact too..
An interesting idea, though you'd need to be careful with side-effects (triggers/functions etc). I seem to recall a "read-only" setting being discussed for transactions too (though not as a security measure, I should emphasise). The other thing is to use the database user/group mechanism - something which tends to be neglected with web-based apps (partly because different DBs have different setups here). If only an application super-user can add/delete users make sure the permissions reflect this and connect as a more restricted user for other logins. -- Richard Huxton Archonet Ltd ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match