For a public access site that is using a SKUID page to display information, what security concerns come up and how can they be addressed?
If I have a page that receives a passed ID to do a query, someone can potentially pass a different ID and get information from that ID that they shouldn’t necessarily see. I can perhaps secure this using a “token” along with the ID to run the query, which is my current line of thinking, but what other things might someone exploit on a SKUID public site? Could they somehow (using javascript perhaps) modify the query to remove that token condition?
I could set up Salesforce object level permissions to be more aggressive, but in doing so it would really be an all or nothing on a per object basis rather than only allowing the user to query for information specific to them. Let’s say I want to expose the Invoice object to customers through the public site, but only want customers to be able to view their own invoices; how can this be secured? If we set up the pages in such a way that we have a user “log in” to the public site to view data specific to them, how might this sort of a technique be best secured?
Additionally, SKUID uses javascript for most of its functionality which runs in the user’s browser. Considering security concerns from the local processing nature of javascript, what stops the end user from accessing SKUID’s javascript functions on the fly if they know where to look / what functions to run. Does anything prevent someone from diving into the javascript in their local browser and looking at the local data or querying for information they shouldn’t see? What aspects of SKUID pages are secure and what aren’t, and how should a SKUID page be set up so it is secure on a public site? Can it really be fully secured?
These general security questions and I’m sure more I’m not yet thinking of are pertinent to keep in mind and address when designing a SKUID based public site. Is there any documentation to assist in identifying possible security holes that might exist in different ways of setting up a SKUID public site / setting up public pages? What are all the security related issues to be aware of when designing a SKUID public site?
Thanks!