Обработка имени пользователя / пароля между HTML и C

0

У меня много проблем с обработкой имени пользователя/паролей с моей HTML-страницы. Я создал базовую страницу, которая использует:

<form action="myCFile.cgi" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Create Account" />

Эта информация отправляется в myCFile.cgi, который, конечно, в моем фактическом коде является точным адресом http. Я подтвердил, что информация успешно передается в файл C. Внутри этого файла я хочу проверить, существует ли это имя пользователя в файле.ssv, который я создал (который находится в формате: пароль пользователя), и если это не так, я хочу добавить документ с именем пользователя и пароль. Моя проблема заключается в попытке точно определить, какая информация передается, это имя пользователя. Когда используется "пост", я знаю, что он отправляет информацию в форме:

username=xyz&password=abc

Каков наилучший способ извлечения имени пользователя "xyz" из приведенного выше, что я не буду знать длину имени пользователя? Я хочу придерживаться только C. Спасибо за вашу помощь

Теги:
cgi
post
username

2 ответа

0
Лучший ответ

используйте strtok_s() или нестандартные strtok_r() и strcmp(). Детали, оставленные как упражнение для читателя.
Кроме того, детали URLDecode не обрабатываются.

0

Вы можете использовать

strchr(text, '=')
strchr(text, '&')

(см. ссылку C++ для определения границ UN и PW. Имейте в виду, что эти символы кодируются, если часть пароля (например, '&' is '% 26').

  • 0
    Ответ должен быть C, так что не связывайте «C ++ reference», а «стандарт C».
  • 0
    Верно - я использовал ссылку на C ++, поскольку функция там хорошо объясняется. Тем не менее, он существует и в стандарте C. Должен был упомянуть об этом в ответе, хотя ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню