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 输出简单动态WAP页面
Jun 09 PHP
PHP的SQL注入实现(测试代码安全不错)
Feb 27 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 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
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
jQuery轮播图实例详解
2018/08/15 jQuery
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
Python中的连接符(+、+=)示例详解
2017/01/13 Python
使用python实现个性化词云的方法
2017/06/16 Python
详解重置Django migration的常见方式
2019/02/15 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
如何给Python代码进行加密
2020/01/10 Python
Python3如何判断三角形的类型
2020/04/12 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
优秀毕业自我鉴定
2014/02/15 职场文书
简单租房协议书
2014/04/09 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
四年级小学生评语
2014/12/26 职场文书
导游词之太原天龙山
2020/01/02 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
浅谈Python数学建模之整数规划
2021/06/23 Python