I have a major issue. I doubt it’s a Yii bug, but I’m not clear what I am doing wrong as I’m just using Yii::$app->request->get().
Okay, so our app will receive a URL signature when data is passed to us, e.g.,
Normally, this works great. We grab the signature, use hmacValidator() on it, all nice and tidy.
EXCEPT if the signature has plus (+) signs in it! I have tested this every way possible, and Yii::$app->request->get() will always return a single space (_) instead of the plus signs.
For example, if the signature on the URL is:
This is what I get from Yii:
Array::getValue(Yii::$app->request->get(), 'signature') == "09Tnou51h0Abf ApP3E12XHFUQ="
We use nginx, and I have verified via the access.log that we are in fact getting a properly formed URL and signature. However, using request->get() returns the above.
This is a pretty serious issue, so my assumption is that it’s not Yii but me. Otherwise, this would break a lot of things.
What am I missing?
Also, potentially relevant:
$config['components']['urlManager'] = [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => , ];