很多人以为 Windows 限制文件最长路径或目录最长路径是 260 个字符,所以经常写以下代码:
//特别加1用来保存 NUL 结束符 TCHAR szPath[MAX_PATH + 1];
其实是错误的,MSDN 上已经说的很清楚了:
最近几天看了一下《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中,我稍微整理了一下:
(更多…)写一个程序要用到,于是整理了一下。在PHP源码中的ext/standard/string.c中。
写一个程序要用到,于是整理了一下。在PHP源码中的ext/standard/string.c中。
昨天在Google关键字“URLDownloadToFile IBindStatusCallback”的时候,看到了看雪论坛上一个名为《在C中怎么使用IBindStatusCallback接口里的方法》的帖子。有人给出了C++的实现,有人留了一句“这样比较麻烦,但是可以实现”,却没有代码。
如果说Linux是C的天下,那么Windows就是C++的天下了。曾经有人问我,在Windows下C++比C方便得多,你为什么偏要用C?我回答,不为什么,因为我喜欢。
和COM开发有关的C语言资料真的很少,但并不是没有,Jeff Glatt的神作《COM in plain C》是最好的资料。把《COM in plain C》看完,实现IBindStatusCallback接口只是小菜一碟。
(更多…)