✓ Accepted answer
Exploiters will always try and exploit your game, it's pretty much ROBLOX's fault for not having more measures against it, however since you mentioned you shop is going to use Remote Functions you could do these things:
1.- Have a cooldown, if someone is firing the remote function with a while true do loop have a wait() inside the function
2.- If the exploiter requested an exaggerated amount of points/coins (1,000,000+) then you could put a limit inside your remote function to only give the exact limit you specified (100,000).
3.- Use DataStores, they are Server-Side and exploiters can't really have any sort of access to them
That and the other method will not only stop the exploiter from firing the functions every frame, but it will also make the exploiting process much more dificult. As a general advice don't rely on the client for everything, use more Server-Side methods instead since exploiters can't access ROBLOX's servers.
2 comments
Make a secure system I guess? mabye make like a certain string that you have to use for the remote to know its a safe request
Thanks for the reply, but literally a couple hours after this I thought of the solution. Lol but that’s though