func_tool.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import urllib.parse
  2. import datetime
  3. import hashlib
  4. import flask
  5. import re
  6. import os
  7. import html
  8. import json
  9. import sqlite3
  10. import threading
  11. set_data = ''
  12. def get_time():
  13. return str(datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S"))
  14. def db_data_get(data):
  15. global set_data
  16. set_data = data
  17. def db_change(data):
  18. if set_data == 'mysql':
  19. data = data.replace('random()', 'rand()')
  20. data = data.replace('%', '%%')
  21. data = data.replace('?', '%s')
  22. return data
  23. def ip_check(d_type = 0):
  24. ip = ''
  25. if d_type == 0 and (flask.session and 'id' in flask.session):
  26. ip = flask.session['id']
  27. else:
  28. ip_list = [
  29. flask.request.environ.get('HTTP_X_REAL_IP', '::1'),
  30. flask.request.environ.get('HTTP_X_FORWARDED_FOR', '::1'),
  31. flask.request.environ.get('REMOTE_ADDR', '::1')
  32. ]
  33. for ip in ip_list:
  34. if not (ip == '::1' or ip == '127.0.0.1'):
  35. ip = ip[0] if type(ip) == type([]) else ip.split(',')[0]
  36. break
  37. return ip
  38. def url_pas(data):
  39. return urllib.parse.quote(data).replace('/','%2F')
  40. def sha224_replace(data):
  41. return hashlib.sha224(bytes(data, 'utf-8')).hexdigest()
  42. def md5_replace(data):
  43. return hashlib.md5(data.encode()).hexdigest()