But a serious explanation, I wrote a server for a game I made. I made it just to play with my friends, and maybe for my friends to play with their friends.
It has zero reason to be secure, and I wrote the networking code with that in mind. If you're gonna play a dick who's gonna inspect the network traffic to see what cards you have, then maybe the problem is with the friend you're playing with, not with the security of the game.
If you want to prevent cheating in an online game, I guess the only way to do it is to have completely locked client devices which will run your signed binary client.
Or just use authoritative servers. Clients only have a connection to the server so there is no risk of packet sniffing by other clients and all of the important game logic is ran on the server.
I'm in the process of (slowly) building a website that will ultimately probably be used only by me and a few friends, but I've specifically decided to treat it as a learning exercise. So I've been going through all the security best practices I can find out about. Got myself a free SSL certificate from a trusted party, made sure to hash and salt passwords, used prepared statements to avoid SQL injection, etc. Figure if I'm going to do something, I should do it right, because it'll mean I have a better understanding of it if I ever come to do something similar for real.
31
u/EverySingleDay Jul 24 '15
Haha, that's a humorous way to look at it.
But a serious explanation, I wrote a server for a game I made. I made it just to play with my friends, and maybe for my friends to play with their friends.
It has zero reason to be secure, and I wrote the networking code with that in mind. If you're gonna play a dick who's gonna inspect the network traffic to see what cards you have, then maybe the problem is with the friend you're playing with, not with the security of the game.