当前位置: 首页 > news >正文

中国建筑业协会官方网站深圳经济最新新闻

中国建筑业协会官方网站,深圳经济最新新闻,零售电商,wordpress手机页面悬浮导航栏前言 base64是一种常见的的编码格式,它可以把二进制数据编码成一个由大小写英文字母(a-zA-Z)、阿拉伯数字(0-9),以及三个特殊字符、/、组成的字符串。 问题 但是在URL传输中,、/、这三个特殊…

前言

base64是一种常见的的编码格式,它可以把二进制数据编码成一个由大小写英文字母(a-zA-Z)、阿拉伯数字(0-9),以及三个特殊字符+/=组成的字符串。

问题

但是在URL传输中,+/=这三个特殊字符是保留字符(或者叫不安全字符),如果将编码后的base64字符串直接用于URL传输,可能会有意外发生。例如,假设base64编码后的字符串是x+y,前端访问https://www.mysite.com?name=x+y,后端接收到的name参数的值却是x y+号不见了,变成了空格。

解决方案

一、在传递参数前,先对其进行URL编码

只要我们在传递base64字符串之前对其进行URL编码,这些特殊字符就会被转义,这样就不会影响后端接收参数。PHP代码示例:

$encoded = base64_encode('举头望明月');
$params = ['name' => $encoded ];
$url = 'https://www.mysite.com?' . http_build_query($params);
echo $url;

注:只要参数是以query string(参数放在URL后面),或者是以POST(x-www-form-urlencoded)的形式传输的,都应对参数做URL编码处理。

二、使用urlsafe版本的base64编码

urlsafe版本的base64编码,其实就是对编码后的字符串做一些字符替换的操作:

  • +字符替换为-
  • /字符替换为_
  • =字符替换为空字符串(即删除=字符)

替换后就可以安全在URL中传输了。

解码则是一个逆向过程,将-替换为+,将_替换为/,还有补上=号。

urlsafe版本的base64编解码示例(PHP):

// 编码
function urlsafeB64Encode($input)
{return str_replace('=', '', strtr(base64_encode($input), '+/', '-_'));
}// 解码
function urlsafeB64Decode($input)
{$remainder = strlen($input) % 4;if ($remainder) {$padlen = 4 - $remainder;$input .= str_repeat('=', $padlen);}return base64_decode(strtr($input, '-_', '+/'));
}
http://www.mmbaike.com/news/70560.html

相关文章:

  • 网站开发 wecenter免费网站怎么做出来的
  • 公司网站建设合同临沂网站建设方案服务
  • 在外国做玄幻小说网站展示型网页设计公司
  • 如何设计网站建设方案网站免费推广软件
  • 南京建设网站公司网站台州关键词优化平台
  • 莱州网站建设制作武汉seo学徒
  • 优购网上商城织梦seo排名优化教程
  • 厦门做返利网站的公司百度一下百度首页
  • 小店网站怎么做宁波优化seo软件公司
  • 新闻网站建设策划seo就业前景
  • 保定网站设计推荐武汉seo顾问
  • 北京建机官网查询点击宝seo
  • 单县网站建设seo文章优化技巧
  • 企业网站网页布局网络平台怎么创建需要多少钱
  • 淘宝做基础销量网站广东省各城市疫情搜索高峰进度
  • 房产网站怎么做网站优化seo培训
  • 天猫网站设计特点网络技术培训
  • 乐清 做网站 多少钱可口可乐网络营销案例
  • 做淘宝差不多的网站吗友链
  • 商城网站设计定制产品全网营销推广
  • 公司让我做网站负责人企业网站seo推广方案
  • 怎么做婚恋网站重庆百度推广
  • 网站换关键词网站ip查询站长工具
  • 厦门市app开发网站建设公司百度推广代理公司广州
  • wordpress中文翻译插件百度词条优化工作
  • 怎样做公司网站banner服务之家网站推广公司
  • 无锡企业网站建设新型营销方式
  • 96个html静态网站模板打包网络营销推广渠道
  • 合肥哪家网站公司好谷歌推广怎么做最有效
  • 上海公司牌照成交价格表2021seopc流量排行榜企业