当前位置:编程学习 > php >>

PHP自定义函数:对URL地址加密与解密

访问网页发现是这种类型:ite5e.php?cGFnZWlkPTEmtLS9qMjLPWFkbWluJmFjdGlvbj1pbml0X2RlZmF1bHQ=那么需要进行_GET变更的解析,下面是两个函数,一种是判断是否是BASE64加密函数,一种是对其进行解析的函数。

ite5e.php?cGFnZWlkPTEmtLS9qMjLPWFkbWluJmFjdGlvbj1pbml0X2RlZmF1bHQ=这咱例子的生成是使用这样的写法:
ite5e.php?".base64_encode("ID=33&action=init")."
使用本函数,会得到ID和action的值

  1. <?php
  2. //判断GET变量是否为BASE64编码,不是很科学,需要进一步改进此函数
  3. function isBase64()        {
  4.         global $_SERVER;
  5.         $QUERY_STRING = $_SERVER[QUERY_STRING];
  6.         $Code = base64_decode($QUERY_STRING);//print base64_decode($Code);
  7.         $Array = explode(=,$Code);
  8.         if(sizeof($Array)>1)        {
  9.                 return 1;
  10.         }else{
  11.             return 0;
  12.         }
  13. }
  14. //重置_GET变量
  15. function CheckBase64()    {
  16.         global $_GET,$_SERVER;
  17.         $QUERY_STRING = $_SERVER[QUERY_STRING];
  18.         $QUERY_STRING_ARRAY = explode(&,$QUERY_STRING);
  19.         $QUERY_STRING = $QUERY_STRING_ARRAY[0];
  20.         $QUERY_STRING = base64_decode($QUERY_STRING);
  21.         $Array = explode(&,$QUERY_STRING);
  22.         $_GET = array();
  23.         //形成新的_GET变量信息
  24.         $NewArray = array();
  25.         for($i=0;$i<sizeof($Array);$i )        {
  26.                 if($Array[$i]!="")        {
  27.                         $ElementArray = explode(=,$Array[$i]);
  28.                         $_GET[(String)$ElementArray[0]] = $ElementArray[1];
  29.                         $NewArray[$i] = $ElementArray[0]."=".$ElementArray[1];
  30.                 }
  31.         }
  32.         //附加GET变量形成部分
  33.         for($i=1;$i<sizeof($QUERY_STRING_ARRAY);$i )        {
  34.                 if($QUERY_STRING_ARRAY[$i]!="")        {
  35.                         $ElementArray = explode(=,$QUERY_STRING_ARRAY[$i]);
  36.                         $_GET[(String)$ElementArray[0]] = $ElementArray[1];
  37.                         $NewArray[$i] = $ElementArray[0]."=".$ElementArray[1];
  38.                 }
  39.         }
  40.         //形成新的_SERVER变量信息
  41.         $_SERVER[QUERY_STRING] = join(&,$NewArray);
  42.         $_SERVER[REQUEST_URI] = $_SERVER[PHP_SELF]."?".$_SERVER[QUERY_STRING];
  43. }
  44. ?>
补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,