原创

PHP 处理 Url 传递特殊字符及中文字符方法

在请求地址 url 中往往会传递一些中文字符或其他特殊字符,有时会出现乱码情况,针对中文字符一般做法:进行urlencode($text)转码,但对于特殊字符,比如html字符 SQL注入的相关字符串时处于安全问题考虑,系统一般会过滤掉,而有时需要此类特殊字符,下面为大家讲述一种比较完善的方式。

1、使用base64_encode($text) 编码,服务端 base64_decode($text) 解码,编码后的字符串中含有 "/", "+", "=" 等字符;

2、在用户提交加密串式,把 + 字符换成别的字符,str_replace('+', '_', $content); 之后再服务端处理时再次转换字符串 str_replace('_', '+', $content); 具体代码如下:

function base_encode($str) {
$src  = array("/","+","=");
$dist = array("_a","_b","_c");
$old  = base64_encode($str);
$new  = str_replace($src,$dist,$old);
return $new;
}

function base_decode($str) {
$src = array("_a","_b","_c");
$dist  = array("/","+","=");
$old  = str_replace($src,$dist,$str);
$new = base64_decode($old);
return $new;
}
~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信