Calendar

2008年十月
« 九   十一 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Translator

php防止恶意访问小程序

本来写PAYPAL IPN response 时用来防止反复尝试的函数,保护性很差,后来改成原地址审核($hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);if(!preg_match(‘/paypal\.com$/’, $hostname)) {…..),所以个就弃用了。在删之前记录不来,应该有更好的算法,不知道谁有研究。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (!avoid_refresh ('15')) die ("Hacking Attempt!!");
.....
.....
.....
function avoid_refresh ($time){
	session_start();
  if (isset($_SESSION["post_sep"])) {
      if (time() - $_SESSION["post_sep"] < $time)  {
      	$_SESSION["post_sep"] = time();
        return false;
      } else {
          $_SESSION["post_sep"] = time();
          return true;
      }
  } else {
      $_SESSION["post_sep"] = time();
      return true;
  }
}

10月20日生日小记

今年生日过得很开心.很幸福. 小小的Mark一下。回想20岁生日的时候,我是举目无亲,发着高烧,医院打着点滴度过的。嗯,虽然又老了一岁,但是随着年岁的增长,幸福感也在增长中……
 
这里贴上一首张国荣的老歌《谈恋爱》。很有意思很有趣的歌词。微笑
 
我真是愉快
能和你如此相爱
但是高兴之外
有些话必须说明白
我们现在相爱
但并不代表也包括未来
为了想永不分开
我们得做一些安排
我们要天天思念
但不要天天相见
只需要悱恻缠绵
绝不要柴米油盐
有共同生活经验
绝不用共同(的)房间
我们要天天思念
但不要天天相见
你可和别人约会
只要不让我发现
我偶而也会出轨
但保证心在你这边
说出来有点不该
唉!但是又何耐
我想自古以来
人们总被自己打败
我们都喜新厌旧
哦!我们都欲望太多
如此去芜存菁之后
让我们安心谈恋爱
我们要天天思念
但不要天天相见
你负责美丽妖艳
我负责努力赚钱
如果想倒过来演
我当然也不会反对
我们要天天思念
但不要天天相见
万一要移情别恋
最好也和平解决
让回忆充满甜美
 
 

PHP 数据加密

数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。如果对于采用安全措施有兴趣的话,也一定会有兴趣了解PHP提供的一系列安全功能。在本篇文章中,我们将介绍这些功能,提供一些基本的用法,以便你能够为自己的应用软件中增加安全功能。

预备知识

在详细介绍PHP的安全功能之前,我们需要花点时间来向没有接触过这方面内容的读者介绍一些有关密码学的基本知识,如果对密码学的基本概念已经非常熟悉,就可以跳过去这一部分。

密码学可以通俗地被描述为对加/解密的研究和实验,加密是将易懂的资料转换为不易懂资料的过程,解密则是将不易懂的资料转换为原来易懂资料的过程。不易懂的资料被称作密码,易懂的资料被称作明码。

数据的加/解密都需要一定的算法,这些算法可以非常地简单,如著名的凯撒码,但当前的加密算法要相对复杂得多,其中一些利用现有的方法甚至是无法破译的 。

PHP的加密功能只要有一点使用非Windows平台经验的人可能对crypt()也相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能够将密码转换为原来的明码。尽管从表面上来看这似乎是一个没有什么用处的功能,但它的确被广泛用来保证系统密码的完整性。因为,单向加密的口令一旦落入第三方人的手里,由于不能被还原为明文,因此也没有什么大用处。在验证用户输入的口令时,用户的输入采用的也是单向算法,如果输入与存储的经加密后的口令相匹配,则输入的口信一定是正确的。

crypt()函数

PHP同样提供了使用其crypt()函数完成单向加密功能的可能性。我将在这里简要地介绍该函数:

string crypt (string input_string [, string salt])

其中的input_string参数是需要加密的字符串,第二个可选的salt是一个位字串,它能够影响加密的暗码,进一步地排除被称作预计算攻击的可能性。缺省情况下,PHP使用一个2个字符的DES干扰串,如果你的系统使用的是MD5(我将在以后介绍MD5算法),它会使用一个12个字符的干扰串。顺便说一下,可以通过执行下面的命令发现系统将要使用的干扰串的长度:

print “My system salt size is: ”. CRYPT_SALT_LENGTH;

系统也可能支持其他的加密算法。crypt()支持四 种算法,下面是它支持的算法和相应的salt参数的长度:

算法 Salt长度
CRYPT_STD_DES 2-character (Default)
CRYPT_EXT_DES 9-character
CRYPT_MD5 12-character beginning with $
CRYPT_BLOWFISH 16-character beginning with $

Click to continue reading

Pages: 1 2