query_codec.php 990 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. // unico punto d'ingresso delle query di path e ricerca
  3. // restituisce un array [querytype,queryvalue], value in chiaro, in utf8 e filtrato
  4. function decodequery(){
  5. global $gets;
  6. // se vuoto, path .
  7. $query = array("path",".");
  8. report(1,"incoming query method:".$gets["method"]." value:".$gets["value"]);
  9. if(preg_match("/.*64/", $gets["method"])){
  10. $queryencoding = "64";
  11. $query[1] = utf8_encode(decoder($gets["value"]));
  12. if($gets["method"] == "path64"){
  13. $query[0] = "path";
  14. }
  15. if($gets["method"] == "search64"){
  16. $query[0] = "search";
  17. }
  18. }
  19. else{
  20. $queryencoding = "plain";
  21. $query[0] = $gets["method"];
  22. $query[1] = $gets["value"];
  23. }
  24. // barriere
  25. if($query[0] == "path"){
  26. // toglie barra finale
  27. $query[1] = rtrim($query[1],"/");
  28. // la radice e' . detto anche, in base64, Lg
  29. if ($query[1] == "") $query[1] = ".";
  30. }
  31. report(1,"decoded query:".$query[0]." value:".$query[1]);
  32. return $query;
  33. }
  34. ?>