日志记录第一处:
核心代码文件 /www/server/panel/class/db.py
找到 def add
函数。
修改为
def is_insert_log(self, request):
if (self.__DB_TABLE == 'logs' or self.__DB_TABLE == 'client_info') and request.headers.get('KEY') == '123456789':
return True # 跳过写入日志的过程
return False
def add(self,keys,param):
#插入数据
self.write_lock()
self.clear_files()
self.__GetConn()
self.__DB_CONN.text_factory = str
param = self.en_crypt(keys,param)
if self.is_insert_log(request):
return
try:
values=""
for key in keys.split(','):
values += "?,"
values = values[0:len(values)-1]
sql = "INSERT INTO " + self.__DB_TABLE+"("+keys+") "+"VALUES("+values+")"
result = self.__DB_CONN.execute(sql,self.__to_tuple(param))
id = result.lastrowid
self._close()
self.__DB_CONN.commit()
self.rm_lock()
return id
except Exception as ex:
raise public.PanelError("数据库插入出错:" + "error: " + str(ex))
# return "error: " + str(ex)
将上面携带的 123456789 修改为你指定的KEY,在浏览器端只需要在Header中加入KEY=123456789
就能实现不记录日志功能。记得还要执行:bt 4
重载宝塔面板代码。
日志记录第二处:
找到 /www/server/panel/class/public.py
代码中的WriteFile
函数
修改为:
def WriteFile(filename, s_body, mode='w+'):
"""
写入文件内容
@filename 文件名
@s_body 欲写入的内容
return bool 若文件不存在则尝试自动创建
"""
try:
if 'request' in filename and request.headers.get('KEY') == '123456789':
return
fp = open(filename, mode)
fp.write(s_body)
fp.close()
return True
except:
try:
fp = open(filename, mode, encoding="utf-8")
fp.write(s_body)
fp.close()
return True
except:
return False
其中的KEY照旧。
第三处代码:
文件位置:/www/server/panel/class/userlogin.py
代码位置:def _set_login_session
函数中的 public.writeFile(last_file, json.dumps(res))
修改为:
if request.headers.get('KEY') != '123456789':
public.writeFile(last_file, json.dumps(res))
重点说明
上面两处都需要在代码头部引入 from flask import request
切记一定要引入,否则将报错。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容