如何解决PHP中&timestamp变成×tamp问题

在PHP项目中遇到一个问题,浏览器将&timestamp参数显示为×tamp。经排查确认是浏览器自动转义导致。解决方案包括:1.调整参数顺序,但因项目需求无法实施;2.将&替换为&。由于项目稳定未改动,选择不修改,通知前端此问题可忽略,不影响实际使用。
摘要由CSDN通过智能技术生成

之前做的项目有一个返回给前端浏览器重定向的地址,每次&timestamp=时间戳都变成×tamp=时间戳,突然懵逼了,接着看异常截图,发现是浏览器中显示的都是×tamp=时间戳这种,查询了后台日志发现都是×tamp=时间戳这种,突然想到是不是浏览器转义的问题,一查果然是。

解决办法有:

1:把timestamp=时间戳这个参数放到最前面没有&符号就不好被转义了,但是我的这个项目参数是必须按ASCII码升序排列然后进行签名的,不适合;

2:再有一种方法是把&改为&   (记得加分号),把参数中的所有&符号改为& ,这个可以。但考虑到项目一直正常在运行最近并没有版本上线,故放弃修改,保持原样,同时通知前端该问题可以忽略(查询时需要留意一下,但实际不影响使用)。

附:HTML转义字符

为什么要用转义字符串?
HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值