php实现URL加密解密的方法


Posted in PHP onNovember 17, 2016

本文实例讲述了php实现URL加密解密的方法。分享给大家供大家参考,具体如下:

<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 相关文章推荐
PHP操作文件方法问答
Mar 16 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
redis 队列操作的例子(php)
Apr 12 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
PHP闭包(Closure)使用详解
May 02 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
php实现有趣的人品测试程序实例
Jun 08 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
PHP读取zip文件的方法示例
Nov 17 #PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 #PHP
php arsort 数组降序排序详细介绍
Nov 17 #PHP
php array_values 返回数组的值实例详解
Nov 17 #PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 #PHP
PHP foreach遍历多维数组实现方式
Nov 16 #PHP
php数据库操作model类(使用__call方法)
Nov 16 #PHP
You might like
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
jQuery.extend 函数的详细用法
2012/06/27 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
使用Python的判断语句模拟三目运算
2015/04/24 Python
利用Python实现图书超期提醒
2016/08/02 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
感恩节活动策划方案
2014/05/16 职场文书
护士求职信
2014/07/05 职场文书
普通党员对照检查材料
2014/08/28 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
青岛海底世界导游词
2015/02/11 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
催款律师函范文
2015/05/27 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android