文章内容
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})
评论列表