这篇文章主要介绍了php实现URL加密解密的方法,结合实例形式分析了php针对URL字符串进行加密解密操作的相关技巧,需要的朋友可以参考下
具体如下:
无标题文档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:
'.print_r($_GET, true).'';
function testGET()
{
echo 'Function GET:
'.print_r($_GET, true).'';
}
testGET();
?>
for($i=1; $i<10; $i++)
{
$s_url = query_encode('ac=index:logo& style="color: #007700">.$i);
echo sprintf('TEST: %s
', $s_url, $s_url);
}
?>
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
PHP排序算法系列之归并排序详解
thinkPHP5框架数据库连贯操作:cache()用法详情
PHP接口多继承和tarits实现多继承效果的方法教程详情