十一 28

      在网站开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。
第一,使用Header方法设置消息头Cache-control

header('Cache-control: private, must-revalidate'); //支持页面回跳

第二,使用session_cache_limiter方法

  session_cache_limiter('private, must-revalidate');
//注意要写在session_start方法之前

PS:Cache-Control消息头域说明

Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 并不会修改另一个消息处理过程中 ... (全文...)

十一 28

      燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢?
我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。
去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊 ... (全文...)

十一 28

通常利用 apache 的 mod_rewrite 对 URL 进行重写的时候, rewrite 规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取 .htaccess 文件的内容,需要对 .htaccess 所在目录进行配置。从安全性考虑,根目录一般都配置成不允许任何 Override ,即

<Directory />
AllowOverride None
</Directory>

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。

AllowOverride 可用的指令如下:

AuthConfig
允许使 ... (全文...)
十一 27

最近工作中用到了RSA算法,找了一些相关的资料和代码,整理了一下,汇总成这篇文章。

<一>基础

RSA算法非常简单,概述如下:
找两素数p和q
取n=p*q
取t=(p-1)*(q-1)
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
取d*e%t==1

这样最终得到三个数: n d e

设消息为数M (M
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。

在对称加密中:
n d两个数构 ... (全文...)

十一 24

http://browsershots.org/:在线生成网站在不同操作系统,不同浏览器下的表现截图。唯一遗憾的是操作系统使用的是英文系统,导致某些浏览器中,汉字显示不出来。

详细截图请点击:http://picasaweb.google.com/birdring/FulinOrg

十一 21

来源:http://imysql.cn

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.45。

目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份 BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文 ... (全文...)

十一 21

一. 在不重启 MySql 服务器的情况下修改 MySql 的配置:

比方说在一些实际生产环境中,想改个MYSQL的配置,但是又不想停止服务重起MYSQL,有什么办法呢?使用SET命令可以做到,请看下面几个例子:

1.设置key_buffer_size的大小为10M。

SET GLOBAL key_buffer_size = 10485760;

SET @@global.key_buffer_size = 10485760;

2.设置最大连接数为200

SET GLOBAL max_connections=200;

SET @@global.max_connections=200;

3.更改慢查询SQL日志时间

SET @@long_query_time=3;

要查看有哪些变量,可执行 “SHOW ... (全文...)

十一 21

INSERT … ON DUPLICATE KEY UPDATE

关键词:INSERT, MySQL, ON-DUPLICATE-KEY, primary-key, unique, UPDATE, 主键

MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成。

例如ipstats表结构如下:

CREATE TABLE ipstats (
ip VARCHAR(15) NOT NULL UNIQUE,
clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0'
);

原本需要执行3条SQL语句,如下:

IF (SELECT * FROM ipstats WHERE ip='192.168.0.1') {
UPDATE ipstats SET clicks=clicks+1 WHERE ip='192.168.0.1';
} else {
INSERT INTO ipstats (ip, clicks) VALUES ('192.168.0.1', 1); ... (全文...)

十一 20

(一)

钱钟书在《围城》里这样描述婚姻:在外面的想冲进去,在里面的想逃出来。

这一进一出,其中藏着一个“到手法则”:

很多人把结婚当一个开关:on(到手) 或者 off(未到手)。

还没有到手的时候,男女还能相互欣赏,相互让着,相互支持、鼓励、打气。有点相敬如宾的味道。哪怕对方有毛病,都揣着明白装着糊涂。那个时候,指鹿为马,也是常有的事情。

但到手后,就360度乾坤大挪移。不仅远香近臭,还立马变成了火眼金睛:

要不怎么看对方,怎么都是毛病,也不知从哪里冒出来那么多!

要不就老是掐自己,不敢相信遇到好人的狗屎运是真的 ... (全文...)

十一 20

MySQL 从 4.1 开始对多语言的支持有了很大变化 ,这导致了问题的出现。

许多 PHP 程序以 MySQL 作为默认的数据库管理软件,但它们一般不区分 MySQL 4.1 与 4.1 以下版本的区别,笼统地称“MySQL 3.xx.xx 以上版本”就满足安装需求了。因为 latin1 在许多地方 (下边会详细描述具体是哪些地方) 作为默认的字符集,成功的蒙蔽了许多 PHP 程序的开发者和用户,掩盖了在中文等语言环境下会出现的问题。
简单的说,MySQL 自身的变化和使用 MySQL 的 PHP 程序对此忽略,导致了问题的出现和复杂化,而由于大部分用户使用的是英文,使这种问题不被重视。这里提到的 PHP 程序,以 WordPress 为例。

MySQL 4.1 ... (全文...)