来访者--》请————》新版个人主页测试
作者:moqidian 日期:2009-05-29
用PHP程序实现支持页面后退的两种方法
作者:moqidian 日期:2009-06-20
在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。
第一,使用Header方法设置消息头Cache-control
header('Cache-control: private, must-revalidate'); //支持页面回跳
第二,使用session_cache_limiter方法
//注意要写在session_start方法之前
session_cache_limiter('private, must-revalidate');
补充:
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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
关于表单刷新
问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了?
答:这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。
补充:还有基于session的解决方法,在session_start前加上
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter('public'); //不清空表单,如同没使用session一般
可以在session_start();前加上 session_cache_limiter("private,max-age=10800");
php 加密大全
作者:moqidian 日期:2009-06-20
不看不知道,一看吓一跳!原来php有这么多加密函数,原来知道一个md5().哎自己见识太少啦
加密技术:
基本原理:是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通过这样的途径来达到保护数据不被非法窃
取,阅读的目的.
PHP中对数据进行加密的函数有:crypt(),md5()和shal(),还有加密扩展库Mcrypt和Mhash.
crypt():可以完成单向加密功能,(无法解密).
格式:string crypt(string str[,string salt]);
str参数是需要加密的字符串,salt参数为加密时使用的干扰串.如省略掉第二个参数,则会随机生成一个干扰串.
说明:缺省情况下,PHP使用一个2个字符的DES干扰串,如果系统使用的是MD5,则会使用一个12个字符.可以通过CRYPT_SALT_LENCTH变量
来查看当前所使用的干扰串的长度
该函数支持4种算法和长度.
MD5函数:
格式:string md5(string str[,bool raw_output]);
其中str为要加密的明文,raw_output参数如果为真,则函数返回一个二进制形式的密文.默认为false.
sha1()
格式:string sha1(string str [,bool raw_output])
说明:函数返回一个40位的16进制数,如果参数raw_output为真,则返回一个20位的二进制数.默认为false
区别:相同字符串多次刷新,crypt()加密会出现多个不同效果;MD5()和sha1()效果不会改变!!
PHP加密扩展库:
Mcrypt()扩展库:既能加密又能解密.
安装Mcrypt()扩展库:首先把PHP目录下的libmcrypt.dll文件copy到系统目录下,然后在php.ini文件中找
到";extension=php_mcrypt.dll"将前面的分号去掉;最后重启服务器.
Mcrypt()扩展库常量:
支持20多种加密算法和8种加密模式.可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来查看
Mcrypt应用
初始化向量:mcrypt_create_iv(该向量的大小,向量的源(MCRYPT_RAND:取系统的随机数))
获取到初始化向量的大小:mcrypt_create_iv_size(加密算法,加密模式);
加密:mcrypt_encrypt(加密算法,密钥,需要加密的数据,算法模式,向量);
解密:mcrypt_decrypt(加密算法,密钥,需要解密的数据,算法模式,向量);
Mhash扩展库:
安装Mhash扩展库:首先把PHP目录下的libmhash.dll文件copy到系统目录下,然后在php.ini文件中找到";extension=php_mhash.dll"将
前面的分号去掉;最后重启服务器.
Mhash扩展库常量:
Mhash扩展库支持MD5,SHA1,CRC32等多种散列算法,可以使用mhash_count()和mhash_get_hash_name()函数输出支持的算法名称
Mhash扩展库应用:
获取文件的全部内容:file_get_contents(文件名);
例: <?php
$filename='wenjm.txt';
$str = file_get_contents($filename);
$hash = 2;
$password = '111';
$salt = '1234';
$key = mhash_keygen_s2k(1,$password,$salt,10);
$str_mhash = bin2hex(mhash($hash,$str,$key));
echo"文件的效验码是:".$str_mhash;
?>
$hash要使用的算法;
$str:要加密的文件;
js 复制到剪切板上
作者:moqidian 日期:2009-06-20
一个可爱的一套简单而漂亮的图标
作者:moqidian 日期:2009-06-12
《变形金刚2》bt下载
作者:moqidian 日期:2009-06-06
asp.net DataList分页
作者:moqidian 日期:2009-06-04
DataList 没有自动分页!
必须自己手工写!所以就写的一段代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
纹理笔刷下载 200多个Grunge风格的Photoshop
作者:moqidian 日期:2009-05-31
共200多个Grunge风格的Photoshop纹理笔刷,2lip收自DeviantART。

20 个纹理笔刷,包括砖块,木纹,玻璃和树叶等

6个老照片风格的纹理笔刷

52 个不同风格的纹理笔刷
30 个Photoshop抓痕笔刷
































