完善解码保护,联网收到非法消息不会爆炸了
This commit is contained in:
@@ -212,8 +212,15 @@ local function loadGameEnv(P)--Load gameEnv
|
||||
end
|
||||
end
|
||||
end
|
||||
local function loadRemoteEnv(P,conf)--Load gameEnv
|
||||
conf=conf and json.decode(love.data.decode("string","base64",conf))or{}
|
||||
local function loadRemoteEnv(P,confStr)--Load gameEnv
|
||||
local _,conf=pcall(love.data.decode,"string","base64",confStr)
|
||||
if _ then
|
||||
conf=json.decode(conf)
|
||||
else
|
||||
conf={}
|
||||
LOG.print("Bad conf from "..P.userName.."#"..P.userID)
|
||||
end
|
||||
|
||||
P.gameEnv={}--Current game setting environment
|
||||
local ENV=P.gameEnv
|
||||
local GAME,SETTING=GAME,SETTING
|
||||
|
||||
@@ -215,12 +215,16 @@ function Player.setRS(P,RSname)
|
||||
P.RS=kickList[RSname]
|
||||
end
|
||||
|
||||
function Player.setConf(P,conf)
|
||||
conf=json.decode(love.data.decode("string","base64",conf))
|
||||
for k,v in next,conf do
|
||||
if not GAME.modeEnv[k]then
|
||||
P.gameEnv[k]=v
|
||||
function Player.setConf(P,confStr)
|
||||
local _,conf=pcall(love.data.decode,"string","base64",confStr)
|
||||
if _ then
|
||||
for k,v in next,conf do
|
||||
if not GAME.modeEnv[k]then
|
||||
P.gameEnv[k]=v
|
||||
end
|
||||
end
|
||||
else
|
||||
LOG.print("Bad conf from "..P.userName.."#"..P.userID)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user