Salesforce: Restrict Button Execution

If you have a button in a page layout and you only want Administrator to see it, how can you do that?

 

Option #1: Page Layout

Use different page layout for a different profile. Show the button only in Administrator page layout

 

Option #2: Visualforce

You can create a validation at your controller and check the user profile before executing any logic

 

Option #3: Javascript

You can write Javascript in a button that gives you the following functionality.

 

 

This would be a quick workaround if you are using Professional edition and do not want to develop any Apex code. However, this validation is a Javascript code from a client browser, if the user has the link or change their HTML client behaviour, they will be able to bypass this.