真正的男子汉不是争凶斗狠 而应该是用胸膛去包容 用肩膀去支撑

标签:PHP

PHP 会话(session 时间设定)
技术文档

PHP 会话(session 时间设定)

2009-01-12 最后修改:2009-08-19 07:25 3729浏览 0评论 简洁版

在PHP开发中对比起Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。

由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。

对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能只做一次验证。为什么呢?因为客户端 Cookie 中的信息是有可能被修改的。假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admin 等于 true 存储在 Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为 true 的 $admin 变量那不是就立即取的了管理权限么?非常的不安全。

阅读更多...

八个有用的WordPress的SQL语句
技术文档

八个有用的WordPress的SQL语句

2009-01-10 2009-01-10 4004浏览 0评论 简洁版

  在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是实现某些特殊任务的时候,在phpMyAdmin中执行SQL语句是最简洁的方法,这里就总结八个有用的WordPress系统的SQL语句,用于解决一些实际碰到的问题。

1、创建备份数据库
  备份数据库是首先要做的事情,只需要通过以下方法就可以简单备份数据库:
  登录phpMyAdmin后。选择你的WordPress数据库,然后点击“导出”按钮,选择一种压缩方式(可以使用gzip)并单击“执行”按钮,当浏览器提示是否下载的时候,点“是”,将数据库文件下载到本地。

2、批量删除文章修订
  WordPress2.6以后的版本增加了一个Post revisions功能,虽然有点用,但文章修订增加了你数据库的大小,我们可以选择批量删除。
  登录phpMyAdmin后执行下面的SQL语句即可批量删除。

        DELETE FROM wp_posts WHERE post_type = "revision";

阅读更多...

PHP+MYSQL乱码:原因及解决方法
技术文档

PHP+MYSQL乱码:原因及解决方法

2009-01-07 2009-01-07 5015浏览 0评论 简洁版

GB2312和UTF-8两个字符集的区别:
GB2312是标准中文字符集,UTF-8 是UNICODE 的一种变长字符编码,即RFC 3629,可以解决多种语言文本显示问题,从而实现应用国际化和本地化。UTF-8 是字节顺序无关的,它的字节顺序在所有系统中都是一样的,排序更加容易。因此 UTF-8 具有更高的性能。不过如果是纯英文的话,用什么都可以,用GB2312也没问题。

再分析下出现乱码的原因
MYSQL+php产生乱码原因:
1. MYSQL数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
2. MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
3. MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
4. 用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
5. 如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
6. PHP页面字符集不正确.
7. PHP连接MYSQL数据库语句指定的编码不正确.

阅读更多...

优化PHP代码的40条建议
技术文档

优化PHP代码的40条建议

2009-01-07 最后修改:2009-08-19 07:25 3994浏览 2评论 简洁版

简介

英文版权归Reinhold Weber所有,中译文作者yangyang。

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。

2.echo 比 print 快。

3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。

4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。

5.注销那些不用的变量尤其是大数组,以便释放内存。

6.尽量避免使用__get,__set,__autoload。

7.require_once()代价昂贵。

8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。

10.函数代替正则表达式完成相同功能。

阅读更多...

PHP从网页传递变量的改变
技术文档

PHP从网页传递变量的改变

2007-04-21 最后修改:2009-08-19 08:17 5341浏览 0评论 简洁版

PHP 自从 4.1.0 开始,支持一种比较安全的变量传递方式。原本我们在写 PHP 程序时,从窗体以 POST 方式传入 PHP 程序时,PHP 可以直接拿来使用。
例如,有一个窗体是下面这个样子:
 
<form action=test.php method=post>  
<input type=text name=username>  

阅读更多...