There is nothing to handle the script which is firing the remote. You could add in the actual script to be fired alongside and then do a check to see if the script name is one which you have in your game as I believe the scripts executed by exploiters are all randomly generated characters. If someone tried firing the event without the script as a argument you could kick them as well for being an exploiter.
However, the biggest flaw of this is, if a exploiter catches wind of this, they can very easily just spoof there own script to make the script believe that another script is being checked. For example, instead of passing in script as every other one would, it would pass in a directory to a script you already have.
In this sense, it isn't really possible to always be completely secure, you just need to have strong server side checks to make sure nothing unusual passes through and always remember to never trust the client.
Anything important should always be done on the server and with logic applied to it - for example, if you have a event to give money, think about why it would ever need to have a client based trigger in the first place, and if it has to have one then think about adding checks to make sure the amount being passed is always positive, create user based cool-downs and you can trigger these to kick anyone who tries firing these too fast.
3 comments
Only something that is visible on both the server and client side can be sent through a remote.
If only stoping exploits was that simple as your second script lol
lol