PHP自定义函数:对URL地址加密与解密
访问网页发现是这种类型:ite5e.php?cGFnZWlkPTEmtLS9qMjLPWFkbWluJmFjdGlvbj1pbml0X2RlZmF1bHQ=那么需要进行_GET变更的解析,下面是两个函数,一种是判断是否是BASE64加密函数,一种是对其进行解析的函数。ite5e.php?cGFnZWlkPTEmtLS9qMjLPWFkbWluJmFjdGlvbj1pbml0X2RlZmF1bHQ=这咱例子的生成是使用这样的写法:
ite5e.php?".base64_encode("ID=33&action=init")."
使用本函数,会得到ID和action的值
- <?php
- //判断GET变量是否为BASE64编码,不是很科学,需要进一步改进此函数
- function isBase64() {
- global $_SERVER;
- $QUERY_STRING = $_SERVER[QUERY_STRING];
- $Code = base64_decode($QUERY_STRING);//print base64_decode($Code);
- $Array = explode(=,$Code);
- if(sizeof($Array)>1) {
- return 1;
- }else{
- return 0;
- }
- }
- //重置_GET变量
- function CheckBase64() {
- global $_GET,$_SERVER;
- $QUERY_STRING = $_SERVER[QUERY_STRING];
- $QUERY_STRING_ARRAY = explode(&,$QUERY_STRING);
- $QUERY_STRING = $QUERY_STRING_ARRAY[0];
- $QUERY_STRING = base64_decode($QUERY_STRING);
- $Array = explode(&,$QUERY_STRING);
- $_GET = array();
- //形成新的_GET变量信息
- $NewArray = array();
- for($i=0;$i<sizeof($Array);$i ) {
- if($Array[$i]!="") {
- $ElementArray = explode(=,$Array[$i]);
- $_GET[(String)$ElementArray[0]] = $ElementArray[1];
- $NewArray[$i] = $ElementArray[0]."=".$ElementArray[1];
- }
- }
- //附加GET变量形成部分
- for($i=1;$i<sizeof($QUERY_STRING_ARRAY);$i ) {
- if($QUERY_STRING_ARRAY[$i]!="") {
- $ElementArray = explode(=,$QUERY_STRING_ARRAY[$i]);
- $_GET[(String)$ElementArray[0]] = $ElementArray[1];
- $NewArray[$i] = $ElementArray[0]."=".$ElementArray[1];
- }
- }
- //形成新的_SERVER变量信息
- $_SERVER[QUERY_STRING] = join(&,$NewArray);
- $_SERVER[REQUEST_URI] = $_SERVER[PHP_SELF]."?".$_SERVER[QUERY_STRING];
- }
- ?>
补充:综合编程 , 安全编程 ,