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相关资料
Oct 09 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
php中cookie的使用方法
Mar 29 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
php递归创建目录的方法
Feb 02 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
php递归函数怎么用才有效
Feb 24 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 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
文件系统基本操作类
2006/11/23 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
解决laravel session失效的问题
2019/10/14 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Django中的forms组件实例详解
2018/11/08 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
函授大学生自我鉴定
2014/02/05 职场文书
小学班级口号大全
2015/12/25 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
Python 阶乘详解
2021/10/05 Python
HttpClient实现表单提交上传文件
2022/08/14 Java/Android
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers