Skip to content

Commit b51e497

Browse files
authored
Merge pull request #1102 from Bidaya0/fix/replay-add-expire-time
fix(recheck): add auto expire time in method_pool replay.
2 parents a04fbc0 + b88dfcf commit b51e497

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

dongtai_web/views/vul_request_replay.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -276,15 +276,15 @@ def get(self, request):
276276
const.API_REPLAY, const.REQUEST_REPLAY
277277
]:
278278
return R.failure(msg="replay_type error")
279-
replay_type = const.REQUEST_REPLAY if replay_type is None else int(replay_type)
279+
replay_type = const.REQUEST_REPLAY if replay_type is None else int(
280+
replay_type)
280281
replay_data = IastReplayQueue.objects.filter(id=replay_id).first()
281282
if not replay_data:
282283
return R.failure(
283284
status=203,
284285
msg=_(
285286
'Replay request does not exist or no permission to access')
286287
)
287-
288288
if request.user.is_superuser == 1 or replay_data.agent.user_id == request.user.id:
289289
pass
290290
elif request.user.is_superuser == 2 and replay_data.agent.user_id != request.user.id:
@@ -302,19 +302,22 @@ def get(self, request):
302302
msg=_(
303303
'Replay request does not exist or no permission to access')
304304
)
305+
if replay_data.create_time < (int(time.time()) - 60 * 5):
306+
return R.failure(status=203, msg=_('重放超时'))
305307
if replay_data.state != const.SOLVED:
306308
return R.failure(msg=_('Replay request processing'))
307-
replay_data = IastAgentMethodPoolReplay.objects.filter(
309+
replay_data_method_pool = IastAgentMethodPoolReplay.objects.filter(
308310
replay_id=replay_id,
309311
replay_type=replay_type).values('res_header', 'res_body',
310312
'method_pool', 'id').first()
311-
if replay_data:
313+
if replay_data_method_pool:
312314
return R.success(
313315
data={
314316
'response':
315-
self.parse_response(replay_data['res_header'],
316-
replay_data['res_body']),
317-
'method_pool_replay_id':replay_data['id'],
317+
self.parse_response(replay_data_method_pool['res_header'],
318+
replay_data_method_pool['res_body']),
319+
'method_pool_replay_id':
320+
replay_data_method_pool['id'],
318321
})
319322
else:
320323
return R.failure(status=203, msg=_('Replay failed'))

0 commit comments

Comments
 (0)