mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-10-26 07:46:35 +01:00
38 lines
1.9 KiB
Python
38 lines
1.9 KiB
Python
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
|
import json
|
|
from django.shortcuts import HttpResponse
|
|
|
|
class secMiddleware:
|
|
|
|
def __init__(self, get_response):
|
|
self.get_response = get_response
|
|
|
|
def __call__(self, request):
|
|
if request.method == 'POST':
|
|
try:
|
|
data = json.loads(request.body)
|
|
for key, value in data.iteritems():
|
|
if type(value) == str or type(value) == unicode:
|
|
pass
|
|
else:
|
|
continue
|
|
if key == 'emailMessage' or key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT' or key == 'SecAuditLogRelevantStatus':
|
|
continue
|
|
if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1:
|
|
logging.writeToFile(request.body)
|
|
final_dic = {'error_message': "Data supplied is not accepted.",
|
|
"errorMessage": "Data supplied is not accepted."}
|
|
final_json = json.dumps(final_dic)
|
|
return HttpResponse(final_json)
|
|
if key.find(';') > -1 or key.find('&&') > -1 or key.find('|') > -1 or key.find('...') > -1:
|
|
logging.writeToFile(request.body)
|
|
final_dic = {'error_message': "Data supplied is not accepted.", "errorMessage": "Data supplied is not accepted."}
|
|
final_json = json.dumps(final_dic)
|
|
return HttpResponse(final_json)
|
|
except BaseException, msg:
|
|
logging.writeToFile(str(msg))
|
|
response = self.get_response(request)
|
|
return response
|
|
response = self.get_response(request)
|
|
return response
|