2011年03月 存档

用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中。

(更多…)

Windows下开发并编译PHP扩展

2011年03月11日,星期五

原来Windows下编译PHP拓展可以如此简单,感谢D大的指导。

以下内容为复制粘贴:

(更多…)

PuTTY SSH Tunnel设置

2011年03月10日,星期四

昨天学校的英语机房重新开放了,传说电脑全部都换成了新的,今天特地来体验一下。为了让我们好好学习,英语机房是不能上外网的。不过对我来说,只要能访问内网就足够了。

内网 + PuTTY + SSH + Tunnel = 外网

但是PuTTY的SSH Tunnel设置我经常忘记,老得Google。现在记录下来,备查。

(更多…)