前端浏览器传递参数的问题

在项目开发中遇到了一个前端浏览器url传递参数的问题,现记录一下,以备后用。

通过RSA和Base64加密的内容如果链接中含有“+”号,浏览器向服务器端发送数据的时候会把“+”号变为空格,如果服务器端没有对这种情况进行捕获的话,程序就有可能会出现异常。今天遇到一个类似的问题,排查了很久才发现是这个问题引起的,引以为戒。

这个问题的发现也有一定的巧合。背景是我们有一个项目向注册的用户发送激活链接,测试也测了很多的数据,但是通过RSA和Base64加密后的字符串中都没有包含有“+”号,直到昨天我通过一个用户名来生成的链接中正好包含“+”号,才发现服务器端的这个问题。看来测试的时候还是要多收集测试的数据