PHP-避免用空格替换'+'

时间:2018-07-14 08:37:39

标签: php special-characters

我正在开发一个Android应用程序,该应用程序向服务器发送了一些哈希值。当然,哈希通常包含特殊字符,例如+ = /。我发现我的PHP脚本会自动使用空格替换+符号,这在某种程度上违反了我自己的安全机制。

我可以使用str_replace()函数简单地用+号替换空格,但是我担心是否还有更多类似的情况,其中PHP将某些特殊字符更改为其他字符。而且,这不是道德方式。

1)仅仅是关于+符号还是还有其他出现?

2)获取原始(未格式化)字符串的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

my comment中所述,这是一个编码问题,应在“请求”(Android应用)而非服务器中解决。检查this answer中的Java示例。

对于您的具体问题:

  1. 需要对许多“控制字符”进行编码,因为它们具有特殊含义:+ ? &

  2. 我认为用PHP获取原始字符串是不可能的,因为PHP可能从未看到过。根据URL / HTTP的定义,网络服务器可能会在将参数传递给PHP之前对其进行URL解码。