本文实例讲述了php实现URL加密解密的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<html xmlns= "http://www.w3.org/1999/xhtml" lang= "zh-CN" >
<head>
<meta http-equiv= "content-type" content= "text/html; charset=gb2312" />
<meta http-equiv= "content-language" content= "zh-CN" />
<meta http-equiv= "pragma" content= "no-cache" />
<meta http-equiv= "expires" content= "0" />
<meta http-equiv= "MSThemeCompatible" content= "Yes" />
<meta http-equiv= "imagetoolbar" content= "no" />
<meta http-equiv= "widow-target" content= "_top" />
<meta name= "robots" content= "index, follow" />
<meta name= "author" content= "3945, [email]ljm77@km169.net[/email]" />
<meta name= "keywords" content= "" />
<meta name= "description" content= "" />
<meta name= "copyright" content= "Copyright 3945 All Rights Reserved" />
<title>无标题文档</title>
<style type= "text/css" >
<!--
a, a:link{text-decoration: none; color:#000000; font-size:9pt;} a:visited{text-decoration: none; color:#000000;} a:hover{text-decoration: underline; color:red;}
body, td, p, li, div, select{font-size:9pt; font-family: "宋体" ;}
-->
</style>
</head>
<body>
<?php
function query_encode( $sQuery )
{ //加密链接
if ( strlen ( $sQuery )==0)
{
return '' ;
}
else
{
$s_tem = preg_replace( "/&/i" , '&' , $sQuery );
$s_tem = preg_replace( "/&/i" , '&' , $s_tem );
$a_tem = explode ( '&' , $s_tem );
shuffle( $a_tem );
$s_tem = implode( '&' , $a_tem );
$s_tem = rawurlencode( $s_tem );
$s_tem = base64_encode ( $s_tem );
$s_tem = strrev ( $s_tem );
return $s_tem ;
}
}
function query_decode( $sEncode )
{ //解密链接
if ( strlen ( $sEncode )==0)
{
return '' ;
}
else
{
$s_tem = strrev ( $sEncode );
$s_tem = base64_decode ( $s_tem );
$s_tem = rawurldecode( $s_tem );
return $s_tem ;
}
}
function rebuild_GET()
{ //重写$_GET全局变量
$_GET = array ();
$s_query = $_SERVER [ 'QUERY_STRING' ];
if ( strlen ( $s_query )==0)
{
return ;
}
else
{
$s_tem = query_decode( $s_query );
$a_tem = explode ( '&' , $s_tem );
foreach ( $a_tem as $val )
{
$tem = explode ( '=' , $val );
$_GET [ $tem [0]] = $tem [1];
}
}
}
rebuild_GET();
echo 'GET:<pre>' .print_r( $_GET , true). '</pre>' ;
function testGET()
{
echo 'Function GET:<pre>' .print_r( $_GET , true). '</pre>' ;
}
testGET();
?>
<br /><br /><br />
<?
for ( $i =1; $i <10; $i ++)
{
$s_url = query_encode('ac=index:logo& style= "color: #007700" >. $i );
echo sprintf( '<a href="?%s">TEST: %s</a><br />' , $s_url , $s_url );
}
?>
</body>
</html>
|
希望本文所述对大家PHP程序设计有所帮助。