I've been researching a lot but cannot seem to find the full answer to my question. Basically what I am wondering is how to release the website to public. So I have my website complete and ready to go, however what are all the settings that I need to change to make it go from debug to release mode. How do I stop users from doing ?flush=1 and all those commands. What are the additional things I should be changing on silverstripe to ensure that the website is secure.
In production you want the server to be in 'live' mode. This prevents users who are not logged in from running dev/build, flush etc. You can do this in your mysite/_config.php:
Alternatively you can do this in an _ss_environment.php file (see http://doc.silverstripe.org/framework/en/topics/environment-management). This keeps it out of your source code so that you can have your environment set to 'dev' for local development and 'live' on the production server. In _ss_environment.php you would do as follows: