文章关键字 ‘PHP’

用VBS实现PHP的crc32函数

2011年03月24日,星期四

循环冗余校验(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函數,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。

昨天进行CRC校验的时候Google了一下CRC的介绍及原理,上面简单摘录了一段,更详细的介绍请访问维基百科。然后老毛病又犯了,怎样用VBS来实现CRC校验?

(更多…)

一个复杂的VBS脚本问题——变量的变量

2011年03月20日,星期日

如果说之前写的《一个简单的VBS脚本问题——两数相加》没有什么技术含量,那么这个问题就相对比较有技术含量了。一个很久以前别人问的问题:

话说。。有a1、a2、a3…..a100这100个变量,不是数组,有没办法快速把他们加起来。。。
for i=1 to 100 step 1
a=a+a & i
next
我试了不行。。

自己先思考一下怎么做吧,我已经把这100个变量准备好了,点击这里获取。随机生成了100个[1,100]之间的数,所有数的和为5076,看看你算对了吗?

(更多…)

用C语言实现PHP的addslashes函数

2011年03月14日,星期一

最近几天看了一下《SQL Injection Attacks and Defense》,并对学校的网站做了一下测试,发现学校的网站真是漏洞百出。同时也发现,在ASP、ASP.NET、JSP、PHP等常见服务端中,PHP中的SQL注入漏洞是最少的(至少我们学校的是这样)。

这也没什么好奇怪的,稍有常识的人都知道,PHP配置文件中有一个magic_quotes_gpc选项,默认为on,会对$_GET、$_POST、$_COOKIE进行addslashes处理,把敏感字符过滤掉。这样,即使是一个没有安全意识的新手写出来的代码,也不太容易出现SQL注入。

所以特意在PHP的C源码中搜索了一下阻碍我SQL注入的“罪魁祸首”addslashes函数的实现。在PHP源码的ext/standard/string.c中,我稍微整理了一下:

(更多…)

用C语言实现PHP的dirname函数

2011年03月13日,星期日

写一个程序要用到,于是整理了一下。在PHP源码中的ext/standard/string.c中。

(更多…)

用C语言实现PHP的basename函数

2011年03月12日,星期六

写一个程序要用到,于是整理了一下。在PHP源码中的ext/standard/string.c中。

(更多…)