Hallo,
Wir pflegen ein Forum mit Discourse und haben ein automatisiertes Tool, das Anfragen wie diese stellt:
agent.get(`${this.baseUrl}/admin/users/list/all.json?email=${emailAddress}`)
Ich habe kürzlich ein Problem festgestellt, bei dem eine dieser E-Mails ein %-Zeichen enthielt. Die GET-Anfrage schlug fehl, da der uncodierte Charakter meiner Meinung nach das Problem war.
Ich habe überlegt, encodeURI für den E-Mail-String zu verwenden, befürchte aber, dass Discourse möglicherweise keine Dekodierung durchführt, bevor es nach der übereinstimmenden E-Mail sucht, was zu potenziellen Fehlalarmen führen könnte.
Ich habe mir den GitHub-Quellcode angesehen, bin aber mit Ruby oder dem Repository nicht vertraut genug, um sicher zu sein.
Ist es sicher, encodeURI für die E-Mail-Adressen zu verwenden, die an die Route admin/users/list/all übergeben werden? Wird Discourse die Parameter vor der Abfrage dekodieren?