func_tool.py 1.3 KB

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