Skip to content

{ Monthly Archives } 十一月 2007

让PHP支持页面回退的两种方法

      在网站开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。 第一,使用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 并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、 proxy-revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

让PHP支持页面回退的两种方法

      在网站开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。 第一,使用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 并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、 proxy-revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

匆匆 – 朱自清

      燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? 我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。 去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身上跨过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。 在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟,被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着像游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸的回去罢?但不能平的,为什么偏要白白走这一遭啊? 你聪明的,告诉我,我们的日子为什么一去不复返呢? 1922年3月28日

Apache AllowOverride 指令

通常利用 apache 的 mod_rewrite 对 URL 进行重写的时候, rewrite 规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取 .htaccess 文件的内容,需要对 .htaccess 所在目录进行配置。从安全性考虑,根目录一般都配置成不允许任何 Override ,即 <Directory /> AllowOverride None </Directory> 在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。 AllowOverride 可用的指令如下: AuthConfig 允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。 FileInfo 允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, [...]

转:RSA算法介绍及实现

最近工作中用到了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两个数构成公钥,可以告诉别人; n e两个数构成私钥,e自己保留,不让任何人知道。 给别人发送的信息使用e加密,只要别人能用d解开就证明信息是由你发送的,构成了签名机制。 别人给你发送信息时使用d加密,这样只有拥有e的你能够对其解密。 rsa的安全性在于对于一个大数n,没有有效的方法能够将其分解 从而在已知n d的情况下无法获得e;同样在已知n e的情况下无法 求得d。

检查网站在不同操作系统下的表现

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

MySQL 备份和恢复

来源:http://imysql.cn 本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.45。 目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份 BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump。 1、mysqldump 1.1 备份 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。 现在来讲一下 mysqldump 的一些主要参数: * –compatible=name 它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。 * –complete-insert,-c 导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。 * –default-character-set=charset [...]

MySql 小技巧二

一. 在不重启 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 VARIABLES;” 获得。 二. MySQL集群(NDB)安装脚本 Jim Dowling为我们写了一个安装和管理MySQL集群(MySQL Cluster)的BASH脚本,支持安装本地集群和分布式集群,提问式的安装方式,非常方便,相信每个人都很容易上手。 http://www.jimdowling.info/ndbinstaller-trac/wiki/DetailedLocalhostInstall这里以图文的方式介绍了这个脚本的整个安装过程。 更多资料请访问:http://www.jimdowling.info/ndbinstaller-trac/ 安装脚本下载(右键另存为) wget http://www.jimdowling.info/ndbinstaller/ndbinstaller.sh # or svn co http://www.jimdowling.info/ndbinstaller/

MySql 小技巧

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 [...]

放爱一条生路

(一) 钱钟书在《围城》里这样描述婚姻:在外面的想冲进去,在里面的想逃出来。 这一进一出,其中藏着一个“到手法则”: 很多人把结婚当一个开关:on(到手) 或者 off(未到手)。 还没有到手的时候,男女还能相互欣赏,相互让着,相互支持、鼓励、打气。有点相敬如宾的味道。哪怕对方有毛病,都揣着明白装着糊涂。那个时候,指鹿为马,也是常有的事情。 但到手后,就360度乾坤大挪移。不仅远香近臭,还立马变成了火眼金睛: 要不怎么看对方,怎么都是毛病,也不知从哪里冒出来那么多! 要不就老是掐自己,不敢相信遇到好人的狗屎运是真的,还问老天是不是真的。 然后,有一天,其中一个就突然发现一个严重的问题,煞有其事的问: “我怎么觉得你对外人,比对我好呢?” 那位回一句:“我也正想问你呢。” (二) 一旦on上后,所有的神秘都彻底消失了,生活的美好和拖累都一起在现实中显出原形。 目光如炬,象探照灯,照得每个人透明了一样:没收隐私、财产和闲时空间。你的就是我的,我的就是我的。 爱的收编活动,来得正义、堂皇,而且放肆。 如果时间够长的话,最终看起来,婚姻不像一次合作,更像一次并购,或者接管。 在生活的激流中,on上后,开始停止支付信任、妥协和情感。开始有一种永不掉线的心态:一种一劳永逸的心态。 每个人都在婚姻里,投放自己:感情、面子和未来。本来是为了收获幸福的,结果发现婚姻变成了信用卡,大家都想先透支,以后再补上。 所以,人在婚姻中,始终是变成了聪明人:彼此变得太随意,看得太清,没有紧张感,然后又没有安全感,逐渐失去兴趣、信心和耐心。 人对想确定而不能确定的东西有太多的焦虑和幻觉。如果现实中不能看到,就只能执着于妄想、猜疑。有些人酷爱发飙,而有些人钟情于胆怯。 你可以用爱来勒索,你也可以用沉默来抗议。你想看到什么结果,就会看到什么结果。你担心什么结果,什么结果就来到你身边。 要扼杀爱的方法很简单,只要你找根绳子勒死它就行了。 (三) 如果你不能自立,爱就只是一个依赖; 如果你把很多条件当婚姻的砝码,那么最好,你要担负的起,否则,你迟早会把自己玩死的; 如果你有很强的控制欲,那么请学会放下,不是放别人,而是放你自己,放爱一条生路; 如果你喜欢想象完美,那么请长大后,再来…. 爱不是依赖,也不全是奉献。不是一个完美的固态,一旦发生,永不改变。什么样的包票,也保证不了好的结果。 它是一个过程。你今天搞砸了,明天还会有机会。但后天,你还有可能搞砸。 我们对人生的执着,大多因为我们不愿面对现实,不愿意看到显而易见的东西。 我们痛恨改变和背叛,但却喜欢人生象一场想要胜利的赌博:孤注一掷,毕其功于一役。 所以,素黑在《放下。爱》里说: 观照自己的感情,有多少是豁达的,  纯粹的,不问得失,悠然自得的爱,  又有多少是自我迷执,  不肯放过自己的孽缘?  放得下,爱才真正活出来。 《放下。爱》不是让人放弃爱的追寻,而是让我们以理性和宽容之心,来包容爱、理解爱、自我和成长。这本书是一本爱的死亡宝典,叙述了爱的N个死法,但却为我们指出一条爱的生路:从来没有命定的不幸,只有死不放手的执著。放得下,爱才真正活出来。 转自喷嚏网:原创 www.dapenti.com