文章内容
2020/1/16 15:43:05,作 者: 黄兵
浏览器指纹
获取浏览器的一些信息:
function get_client_info() { // 如果存在问题,生成追踪id,方便后面检查问题。 // 完整的浏览器名称 get_client_appName = navigator.appName; // 表示当前浏览器是否启用了cookie get_client_cookieEnable = navigator.cookieEnabled; // 表示当前浏览器是否启用了Java get_client_javaEnable = navigator.javaEnabled(); // 浏览器所在的系统平台 get_client_platform = navigator.platform; // 浏览器中安装插件的信息数组 get_client_plugins = navigator.plugins; // 浏览器的用户代理字符串 get_client_userAgent = navigator.userAgent; // 屏幕像素高度减系统部件之后的高度值 get_client_availHeight = screen.availHeight; // 屏幕像素宽度减系统部件之后的宽度值 get_client_availWidth = screen.availWidth; // 屏幕像素高度 get_client_height = screen.height; // 屏幕像素宽度 get_client_width = screen.width; client_info = { 'get_client_appName': get_client_appName, 'get_client_cookieEnable': get_client_cookieEnable, 'get_client_javaEnable': get_client_javaEnable, 'get_client_platform': get_client_platform, 'get_client_plugins': get_client_plugins, 'get_client_userAgent': get_client_userAgent, 'get_client_availHeight': get_client_availHeight, 'get_client_availWidth': get_client_availWidth, 'get_client_height': get_client_height, 'get_client_width': get_client_width }; return client_info; }
后端对浏览器信息的存储:
@auth.route('/get_client_info', methods=['POST']) def get_client_info(): get_data = json.loads(request.form.get('data')) if get_data is None: return jsonify({'result': 'error'}) get_client_appName = get_data['get_client_appName'] get_client_cookieEnable = get_data['get_client_cookieEnable'] if get_client_cookieEnable: get_client_cookieEnable = 1 else: get_client_cookieEnable = 0 get_client_javaEnable = get_data['get_client_javaEnable'] if get_client_javaEnable: get_client_javaEnable = 1 else: get_client_javaEnable = 0 get_client_platform = get_data['get_client_platform'] get_client_plugins = get_data['get_client_plugins'] get_client_userAgent = get_data['get_client_userAgent'] get_client_availHeight = get_data['get_client_availHeight'] get_client_availWidth = get_data['get_client_availWidth'] get_client_height = get_data['get_client_height'] get_client_width = get_data['get_client_width'] get_remote_ip = request.access_route[0] uuid_id = uuid.uuid5(uuid.NAMESPACE_DNS, str(uuid.uuid1())) store_user_info = StoreUserClientInfo(id=uuid_id, client_appName=get_client_appName, client_cookieEnable=get_client_cookieEnable, client_javaEnable=get_client_javaEnable, client_platform=get_client_platform, client_plugins=get_client_plugins, client_userAgent=get_client_userAgent, client_availHeight=get_client_availHeight, client_availWidth=get_client_availWidth, client_height=get_client_height, client_width=get_client_width, remote_ip=get_remote_ip) try: db.session.add(store_user_info) db.session.commit() except: return jsonify({'result': 'error'}) return jsonify({'result': uuid_id})
评论列表