浅谈 JS 复制

最近帮朋友做了个简单的小程序,需要点击按钮实现复制 用户名的功能,使用  window.clipboardData 实现了 IE 下的复制功能,遇到 Chrome 就没办法了。百度发现了 Zepto.js,非常好用。

周末闲来无事,发现Chrome/Firefox 支持 Window.getSelection,做了简单的封装,替换掉 Zepto.js,有简化掉了很多代码。

代码比较简单,测试地址:http://www.miaoqiyuan.cn/products/copy.html,代码如下: 继续阅读

WinXP 找不到 某些 wifi 的 解决方法

为了玩老游戏,给自己的一台老Macbook安装了WinXP(Win10现在很多游戏不能玩,比如战地3、古墓丽影7 中文)。安装成功后,联Wifi的时候竟然找不到 家中的主路由器(家里扯了两个宽带,一个移动备用顺便挂了台玩客云和赚钱宝,网费可以赚回来。联通作为主线路),连接 备用线路的Wifi 正常。

尝试修改 Wifi 名称、加密方式、都无法解决。用360打了所有补丁后仍然无法找到。在MacOS下wifi正常,排除硬件问题。将 Bootcamp升级到 3.3(WinXP支持的最高版本)后还是连不上,排除了驱动问题。 继续阅读

给 Windows 加个 虚拟磁盘挂载服务,让 MBP 支持 D盘

新入一台 MBP,硬盘 256G 的仅用 MacOS 有点浪费,使用 Bootcamp 安装了 新版 Win10。用来做 日常的开发。

装好系统,又发现新问题了。Windows 2008 IIS 中的 PHP 设置,在 web.config 设置的,PHP安装在D盘,而通过 Bootcamp 安装好系统 只能有 一个 分区。

尝试分区时 发现 了 VHD,创建虚拟磁盘 后 实现了 Macbook Pro 通过 Bootcamp  增加多个分区的功能。 继续阅读

FrameController.js – 优雅的处理单页多框架(iframe)窗口管理同步问题

做后台时,不可避免的会遇到 内嵌 iframe 的情况。最近的 一个项目 有客户反馈无法保存,提示 token 错误,。经过沟通发现 是因为打开了 多个内嵌页(iframe),会出现此问题(使用ThinkPHP5自带方法 token(),每次调用都会生成新的Token)。修复方法也很简单,直接在 新增内嵌页时,将新生成的token进行广播。

这种情况在 后台 开发中会经常遇到,把 代码 提取出来,做了一下简单的封装,做成开源项目(https://gitee.com/mqycn/FrameController.js)。

考虑到后台可能要兼容非常老的平台,特别针对 IE7、IE8 做了兼容处理,基本可以实现所有浏览器的兼容。运行效果如下: 继续阅读

不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。

今天 登陆 自己的VPS,卸载了用不到的.net环境(用 aspnet_regiis.exe -u 把net环境卸载),卸载后 php 环境竟然也不能访问了。提示:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。查阅资料后,使用用 appcmd 解锁解决。

继续阅读

快速修复 smarty 站点 XSS问题

最近一朋友,网站被频繁挂马(JS判断百度来路,跳转到博彩)。帮朋友分析了下,这套程序年代久远有庞大,最老的代码写于10年前。朋友自己开发的系统,不支持上传,没发现什么的漏洞。想到XSS的问题,排查工单系统,证明猜测正确。系统过于庞大(超过5万行…),而且没有,全部检查一遍不太现实。看到了 smarty 的 assign(),批量查找出来,替换 过滤 后的数据就可以了。

实际操作中有出现了点小问题,assign 传递的数据,有数组、有字符串,帮朋友写了个 适应任意数据格式的 过滤函数给朋友,解决了问题:代码如下: 继续阅读