我使用Javascript中的Fancy WebSockets与我的php服务器进行多人游戏通信。
但现在,我只是将原始套接字(json)作为发送
Sending: {"command": "login", "data": {"id" : "1575","md5" : "6bd8937a8789a3e58489c4cfd514b1a7","username": "densortekat"}} index.php:58
Sending: {"command": "inroom"} index.php:58
Reciveing: {"command": "roombg","data" : "shop.png"} index.php:83
Reciveing: {"command" : "NEWUSER","data" : { "username" : "densortekat","seat_id" : "29","room_id" : "9"}} index.php:83
Sending: {"command" : "move", "data" : { "seat_id" : "53"}} index.php:58
Reciveing: {"command": "move", "data" : {"username" : "densortekat", "seat_id" : "53"}} index.php:83
Sending: {"command": "request_trade", "data" : "densortekat"} index.php:58
Reciveing: {"command":"trade", "data": {"username":"densortekat"}} index.php:83
Sending: {"command":"ping"}
我的问题是,我怎么能从javascript到PHP,就像PHP->javascript加密数据一样,让其他人看不到发生了什么?
请参阅带有SSL的html5 Websocket-如果您的初始页面是HTTPS(SSL/TLS),那么它上的Websocket也将是HTTPS。
您不能确定javascript是否在客户端被激活,但真正的问题是,您无法知道您发送的数据&从服务器到客户端的接收是由javascript处理的,而不是由用户处理的。
I、 作为一个恶意用户,可以向您发送像上面我自己伪造的数据,而不是由您的js代码计算的数据。没有办法从具有任何证书的客户端接收数据,证书上写着"这些数据是由受信任的js VM生成的,而不是由用户伪造/操纵的"。