摘要: PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。1. PHP的设计理念及特点多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,随着时代发展,PHP也早已支持多线程模型。弱类型语言:和C/C++、Java、C#等语 阅读全文
posted @ 2013-03-14 15:10 春哥也编程 阅读(24300) 评论(0) 推荐(4) 编辑
摘要: 今天在做Cookie的验证时,发现怎么验证都不对,而奇怪的是之前验证是正常的,这次只是改了一个值,经过调试发现在浏览器中一个Cookie的值为 “lV502ZEaL75+9l5GJQHhDg==”,但在程序中读到的却是“lV502ZEaL75 9l5GJQHhDg==”,原来Cookie中的加号已经被替换为空格,谷歌搜了一下,发现MS网上有一编这方面的帮助文档,“ASP May Improperly Parse Cookies Containing a Plus Sign”,不过讲的是asp和IIS4.0. 我的Cookie是用DES加密的,因为之前的值加密号没有出现加号,而后面换了另外一个. 阅读全文
posted @ 2013-03-14 10:09 春哥也编程 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: 系统中有一些值使用BASE64编码后存储在COOKIE中,当编码后的字符串最后有一个或者两个等号(=)时,使用Request.getCookies().getValue()会丢失等号,再BASE64解码时产生错误.https://issues.apache.org/bugzilla/show_bug.cgi?id=44679,可以看到这个链接里面的讨论.里面提到:org.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE system propertythat was introduced in Tomcat 6.0.24. L 阅读全文
posted @ 2013-03-14 10:07 春哥也编程 阅读(2815) 评论(0) 推荐(0) 编辑
摘要: 目前有以下几种 Cookie 规范:Netscape cookie 草案:是最早的 cookie 规范,基于 rfc2109。尽管这个规范与 rc2109 有较大的差别,但是很多服务器都与之兼容。rfc2109, 是 w3c 发布的第一个官方 cookie 规范。理论上讲,所有的服务器在处理 cookie( 版本 1) 时,都要遵循此规范。遗憾的是,这个规范太严格了,以致很多服务器不正确的实施了该规范或仍在使用 Netscape 规范。rfc2965 规范定义了 cookie 版本 2,并说明了 cookie 版本 1 的不足。rfc2965 规范的使用,目前并不多。rfc2109 规范相应要 阅读全文
posted @ 2013-03-14 09:54 春哥也编程 阅读(3833) 评论(0) 推荐(0) 编辑