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 array_merge下进行数组合并的代码
Jul 22 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
推荐25款php中非常有用的类库
Sep 29 PHP
php表单敏感字符过滤类
Dec 08 PHP
PHP文件操作方法汇总
Jul 01 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP如何使用cURL实现Get和Post请求
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速度全攻略
2006/10/09 PHP
PHP内核探索:变量概述
2014/01/30 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
PHP实现图片压缩
2020/09/09 PHP
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
在Django中创建第一个静态视图
2015/07/15 Python
vscode 远程调试python的方法
2017/12/01 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
业务经理的岗位职责
2013/11/16 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
P站美图推荐——变身女主角特辑
2022/03/20 日漫
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang