python基于谷歌身份验证器的动态密码实现

在很多网站都有动态密码验证来增加安全性,例如银行的U盾,网易的将军令等都是基于动态密码来进行身份验证。动态密码有基于次数和基于时间来刷新的协议,现在基于谷歌的身份验证器来做一个基于时间的动态密码验证系统,默认30秒刷新一次 实现原理: 1、服务端首先要约定一个base32的密钥,并且把这个密钥与某个账户关联。 2、在页面显示一个二维码,内容是一个URI地址(otpauth://totp/账号?secret=密钥)。 3、通过手机端的谷歌身份验证器软件扫描这个二维码,使密钥保存在手机客户端 实现过程: import... Read More

exchange修改用户邮箱容量限制,并使其立即生效。

背景

公司某高管exchange邮箱容量达到上限了,为了不影响他的正常工作,临时做了容量调整,但是调整生效时间需要2小时,这就比较尴尬了。

继续阅读exchange修改用户邮箱容量限制,并使其立即生效。

前端–jQuery clone()的select元素不能修改option里的文本(此时的change()方法失效了!!!!)

问题背景: 近期对部门内的资产申请功能进行优化,此前是只能一笔笔的申请显得麻烦,所以想改成可以多笔批量申请。使用JQuery对默认显示的一行进行Clone(),而里面包含了需要选择地点和设备的select框。于是故障出现了,当点击新增一行按钮的时候,内容显示正常,当更改option内容的时候,value值始终保持不变,一直保持默认,这个问题折磨了我2天的时间,头铁的发麻! 故障分析及原因: 在排错的过程中,发现默认行加载了bootstrap-select.js加载完成,而clone行的select并没加载这个js,于是做了手动添加$.getScript(url);重新调试时,bootstrap-select.js进行了加载,但是并没有作用在元素上,表示追加的bootstrap-select.js无效。经过多方面的查阅资料和求助,发现select,textarea的值在clone的时候会被丢掉。 解决方案: 现将select动态加载的数据清空,然后再进行再次加载。此时重新测试时,发现每行都出现了2个相同如下div: <div... Read More