func_tool.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. for for_a in range(5):
  29. if for_a == 0:
  30. ip = flask.request.environ.get('HTTP_X_REAL_IP', '::1')
  31. elif for_a == 1:
  32. ip = flask.request.environ.get('HTTP_CLIENT_IP', '::1')
  33. elif for_a == 2:
  34. ip = flask.request.environ.get('HTTP_X_FORWARDED_FOR', '::1')
  35. elif for_a == 3:
  36. ip = flask.request.environ.get('HTTP_CF_CONNECTING_IP', '::1')
  37. else:
  38. ip = flask.request.environ.get('REMOTE_ADDR', '::1')
  39. if type(ip) == type([]):
  40. ip = ip[0]
  41. else:
  42. ip = ip.split(',')
  43. ip = ip[0]
  44. if ip != '::1':
  45. break
  46. return ip
  47. def url_pas(data):
  48. return urllib.parse.quote(data).replace('/','%2F')
  49. def sha224_replace(data):
  50. return hashlib.sha224(bytes(data, 'utf-8')).hexdigest()
  51. def md5_replace(data):
  52. return hashlib.md5(data.encode()).hexdigest()