php初级教程:12.网站用户验证的基本原理

归类于: PHP, Web技术|WEB Tech — cosβ @ 2007-06-17 19:49:42 才(2)条评论

几乎已经忘记了自己还在写php初级教程,经过网友的提醒,再次继续。

本章的内容是用户的验证原理。首先大致说一下我们浏览web的流程。当我们访问http://www.storyday.com/index.php的时候,服务器就会根据这个地址将index.php的执行结果发送给用户,然后便中断连接,此后用户无论做什么,服务器并不知道,服务器始终等待用户对页面的请求,如果请求的是静态文件,如html,jpg等等,服务器就直接将文件通过发送给请求放,如果是程序文件,如php,jsp,perl,服务器就执行该程序,然后将结果发送给浏览器,此后用户除了请求之外的东西,服务器一概不知,这就是所谓的http协议的无状态连接! (read on …)

真郁闷bluehost居然不支持PEAR的DB类

归类于: PHP, Web技术|WEB Tech — cosβ @ 2007-06-08 21:34:07 才(2)条评论

http://bloggermap.org/guestbook/do.php,我自己已经在我根目录下添加的PEAR包,并且通过define(’PEAR_DIR’,WEB_DIR.’/inc/PEAR-1.4.8′);//这里是PEAR包的路径
ini_set(’include_path’, PEAR_DIR . PATH_SEPARATOR . ini_get(’include_path’));//将PEAR包添加到php默认的include中去。这样的设置在本机中可以正常运行,但是不知道为什么在Bluehost上就不能运行,显示错误是:Call to undefined method DB_Error::setFetchMode(),如此看来,pear是已经正常的include进来了,要不就会出现require文件不存在的错误,我尝试着把include的路径写错误,结果从错误提示中出现默认的pear路径已经添加进行,如下粗体字所示:
Failed opening required ‘PEARd.php’ (include_path=’/home/se/public_html/bloggermap/inc/PEAR-1.4.8:.:/usr/lib/php:/usr/local/lib/php’) ,哎看来是bluehost的问题了,livechat的人也不懂,只有提交问题,耐心等待回答了!

问题被我莫名其妙的解决了,都忘记怎么解决的,当然还是用自己安装的PEAR

cos-html-cache的原理

归类于: PHP, Web技术|WEB Tech, Wordpress — cosβ @ 2007-06-02 18:48:45 才(5)条评论

免得再有人说我二,也免得有人顾虑我插件的危险性,所以我觉得还是有必要通俗的把这个插件的原理介绍介绍,这样你就能确定你是否需要该插件。

插件工作的触发条件:添加文章、删除文章、修改文章、评论成功添加;

插件干的事情:通过php fsocksopen(没有用CURL主要是考虑到国内虚拟主机未必支持,当然直接fopen肯定更加有问题)打开post页面,获取这个页面的所有的HTML,然后根据该页的永久连接,在网站对应实际的位置建立起该文件,比如你的永久连接是 /post/post_id这样的格式,那么插件就会建立post 和post/post_id目录,并且在post/post_id目录下创建index.html文件,然后将获得的HTML写入该文件中,所以下次请求该页面的时候,由于该页面实际存在,urlrewrite就不会定向到index.php,而是直接把html文件发送给客户端,从而大大的提高了响应速度。所以如果你的永久连接设置不太可科学,可能会在你根目录中建立很多文件,因此最好是设置一个html的根目录,当然你也可以参考本站的设置形式,这样所有的文件都在html目录下了。 (read on …)

blog map 增加新功能

归类于: PHP, Web技术|WEB Tech — cosβ @ 2007-05-29 10:50:52 才(4)条评论

考虑到朋友在blogmap上添加自己blog的时候不好给自己定位,所以特地利用了yahoo的api添加了搜索功能,这样你就可以通过搜索到地名然后拉动提示框对自己的位置进行精确定位了。中国的地图不支持更具体一点的定位,譬如定位到街道,美国佬真幸福啊!效果如如下图所

下面是我的地图

blog map

当然你也可以把上面的图片放置到你的网站,图片放在googlepage上,所以你不用担心图片会过期或者速度慢。添加方法如下:

  1. 找到你的blog
  2. 进入shared url,如下图所示:
  3. 将该页的代码嵌入到你blog的sidebar里面即可。

分享一段高效的css gzip压缩代码

归类于: PHP, Wordpress — cosβ @ 2007-05-18 14:44:03 才(5)条评论

打算让用户控制缓存,但是必须得保证用户关闭浏览器后代码还能继续执行,所以一直在研究register_shutdown_function,也一直在调试这个代码和ob_start绑定函数执行的顺序,后来就在php.net上发现了一段压缩css的好代码,我7k的css被压缩成2k不到,大家可以尝试。

  1. < ?php
  2.   ob_start("ob_gzhandler");
  3.   ob_start("compress");
  4.   header("Content-type: text/css; charset: UTF-8");
  5.   header("Cache-Control: must-revalidate");
  6.   $off = 0; # Set to a reaonable value later, say 3600 (1 hr);
  7.   $exp = "Expires: " . gmdate("D, d M Y H:i:s", time() + $off) . " GMT";
  8.   header($exp);
  9.  
  10.   function compress($buffer) {
  11.   $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer); // remove comments
  12.   $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer); // remove tabs, spaces, newlines, etc.
  13.   $buffer = str_replace('{ ', '{', $buffer); // remove unnecessary spaces.
  14.   $buffer = str_replace(' }', '}', $buffer);
  15.   $buffer = str_replace('; ', ';', $buffer);
  16.   $buffer = str_replace(', ', ',', $buffer);
  17.   $buffer = str_replace(' {', '{', $buffer);
  18.   $buffer = str_replace('} ', '}', $buffer);
  19.   $buffer = str_replace(': ', ':', $buffer);
  20.   $buffer = str_replace(' ,', ',', $buffer);
  21.   $buffer = str_replace(' ;', ';', $buffer);
  22.   return $buffer;
  23.   }
  24.  
  25.   require_once('style.css');
  26.  
  27.   ?>

将上面的文件命名为style.css.php,放置到你当前模板目录下,然后修改你的wordpress模板中的header.php将css的路径改成<link rel="stylesheet"
href="<?php bloginfo('stylesheet_directory'); ?>/style.css.php"
type="text/css" media="screen" />

php函数、实现方法库

归类于: PHP, Web技术|WEB Tech — cosβ @ 2007-05-17 15:03:03 还没有评论

有些东西,譬如正则表达式,目录函数等等,我们往往不需要记下,需要的时候再去查资料,鉴于此,我将我自己使用过的一些php的东西汇编到本文中,今后使用的时候直接查看本文(持续更新中……) (read on …)

是否让用户控制你的缓存

归类于: PHP, Web技术|WEB Tech — cosβ @ 2007-05-16 22:10:52 才(11)条评论

想着缓存的问题,一直在思考,是不是让用户控制你的缓存?为什么这么说呢?本站的缓存基本上都没有用户的干预,缓存的生成和用户的操作没有任何关系,首页采用的是crontab job自动生成,post页面是在发布文章的时候生成的,而留言这是调用ajax直接从数据库中动态读取的。

ajax不利于搜索引擎的抓取,这是大家都知道的,要知道,留言的内容有的时候还是也有价值的,所以我现在在考虑留言是否应该直接写入到页面的缓存上,即在用户留言之后重新生成缓存。这就存在了要不要把缓存的控制权交给用户的问题了。大家知道,用户的网速和计算机的配置都是参差不齐,所以用户随时都会关闭他的浏览器,如果这个时候缓存还没有生成就关闭了,是不是就意味着这样的缓存永远都没有机会翻身了呢 。我首页有的时候就显示空白,很有可能就是wget的同时有用户在请求页面,造成共享冲突,所以……。 (read on …)

我知道你藏在哪里-web目录下的文件

归类于: PHP, Web技术|WEB Tech, 虚拟主机 — cosβ @ 2007-04-16 11:08:58 才(3)条评论

以前有个很天真的想法,认为web目录下没有外连接的东西都应该是很保密的,所以那个时候我总是把我认为不应该公开的照片、音乐或者视频放在我网站目录下的一个很深的文件夹里面,可是我现在发现我错了,因为我忽略了一个东西-搜索引擎。 (read on …)

Page 4 of 8« First...«23456»...Last »

生活点滴Enjoy Life is proudly powered by WordPress | admin| About Us | cosbeta| Bluehost| site map 0.425s & 22