分类目录归档:PHP

ASP 和 PHP 文件操作速度的对比

最近一个项目中,有一个读取某个文件夹下所有文件的功能。使用了ThinkPHP + layui,本地测试没有问题,到客户哪里发现速度奇慢,需要10秒以上才能读取完毕。 经沟通发现一个文件夹有1000+ 个文件,客户之前有一套asp的老系统,1000多个 文件也能实现秒开。。。

一时竟然没有头绪,难道 PHP 不如 ASP快 ??因为项目中代码太多,编写单独的代码测试。files/1000目录存放了 1428个文件测试。

继续阅读

多项目 函数库、类库 统一为一个版本的方法 – one.php

现在?手里?有好几个?项目在进行,每个项目都有部分通用的代码,只想维护一个?函数库、类库,并且每个项目都不想有冗余代码,函数功能更新后,其他项目的函数也需要更新。晚上抽空写了个?简单的打包小脚本:one.php,以后?更新函数或类时,只需要在唯一的?函数库、类库?中更新,其他项目使用?打包后的?php?脚本即可(理论上也能提高PHP的运行速度,只需要加载、分析一个文件)。

因为我的?函数库、类库都在一个目录下,所以没有针对相对路径?做处理(懒),cmd 进入 core 目录,执行 php one.php 即可按规则打包成一个独立的文件,运行效果如下。

继续阅读

快速修复 smarty 站点 XSS问题

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

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

phpsh – phpcli开发的终极方案

最近用php代替vbs脚本,做些小工具的开发。为了方便测试不同php版本的兼容,专门写了一个 php版本切换的 批处理 phpsh.cmd,支持安装到系统、卸载等功能,还支持多个php版本的任意切换(需要先安装phpStudy)。

如果需要安装到系统,必须以管理员身份运行 命令提示符,基本的使用方法如下:

安装成功后,就不用使用管理员身份执行了。可以在任意目录 执行 phpsh,会自动设置php环境。

继续阅读