Еще пара косяков. Малая длина для пароля и ссид -раз, и необходимо использовать url_decode и html_escape - первый при получении данных с фронтенда, второй - при выдаче на фронтенд. Реализаций тьма в сети, там ничего сложного. Вот например -несколько косячные, ну ладно
int url_decode(char *str) {
unsigned int i;
char tmp[BUFSIZ];
char *ptr = tmp;
memset(tmp, 0, sizeof(tmp));
for (i = 0; i < strlen(str); i++) {
if (str != '%') {
*ptr++ = str;
continue;
}
if (!isdigit(str[i + 1]) || !isdigit(str[i + 2])) {
*ptr++ = str;
continue;
}
*ptr++ = ((str[i + 1] - '0') << 4) | (str[i + 2] - '0');
i += 2;
}
*ptr = '\0';
strcpy(str, tmp);
return 0;
}
String html_escape(char *str) {
String res(str);
res.replace("&", "&");
res.replace("\"", """);
res.replace("\'", "'");
res.replace("<", "<");
res.replace(">", "&qt;");
return res;
}