LINUX.ORG.RU

Веб-форма аутарефикации на Си


0

0

Создаю на си web-страницу аутарификации юзера
вот вырезка функции стараницы-формы

printf("<form name=form method=post action=index>\n");
printf("<br>Login:<input type=text name=login>\n");
printf("<br>Password:<input type=password name=password>\n");
printf("<br><input name=ok type=submit value=enter></form>\n");

А что далее понятия не имею.
Приведите пример функции которая должна идти далее для того, чтобы сверяла логин и пароль из файла,при правильности запускала слудующую функцию.Или как это должно выглядеть в действительности. Заранее спасибо.


Для начала неплохо было бы Си выучить. POST передаётся через stdin

Selecter ★★★★
()

аутарефикацию можно сделать только на лиспе или хаскеле, больше никак

theserg ★★★
()

а что такое аутарефикация?

Esh ★★★★
()

authentication
[&#596;:&#716;&#952;ent&#618;&#712;ke&#618;&#643;&am p;#601;n]
_n. идентификация

Selecter ★★★★
()

вабче-то Вы передали пользователю типичную страницу
с запросом логина и пароля..
дальнешие танцы с бубнами зависят исключительно от Вас.
Ну не знает тут никто как вы храните учётные записи и нухрена они вам.

Блин, нету в http понятия БЕЗОПАСНОСТЬ и всё,
все попытки авторизовать/идентифицировать пользователя опираясь на http - "курочки во дворике".. impossible..

если вы не знаете как именно работает CGI,
то и нехер лезть в такие дебри -- сделай форму "А кады у ты Д.Р?" и пару вариантов ответа..(это в tutorial`ах разжёванно)

MKuznetsov ★★★★★
()

<FORM name="Test" method="get" action="http://localhost/cgi-bin/pas_check.pl">

<center><table bgcolor="#0D1D87" border="3" cellspacing="10">

<tbody><tr bgcolor="#2F4F6F"><td colspan="2"><font color="#da70d6" face="times" size="+1">

<center><b>АВТОРИЗАЦИЯ</b></center></font></td& gt;</tr>

<tr bgcolor="#fdffdf"><td><font face="arial" size="3" color="Purple"><b>пользователь:</b></font>

<font face="arial" size="3" color="Purple"></font></td><td>

<font face="times" size="2"> <input type="text" name="log_str" value="UNIX" size="30"></font></td></tr><tr bgcolor="#fdffdf">

<td><font face="arial" size="3" color="Purple"> <b>пароль:</b></font></td>

<td><font face="times" size="2"><input type="password" name="pas_str" value="UNIX" size="30"> </font></td></tr>

<tr bgcolor="#0D1D87"><td colspan="2"><center><input type="submit" value="Start"></center></td></tr></tbody>&l t;/table></center></FORM>

================================

Метод гет, обрабатывает скрипт на пёрл. Можно на ассембл, на С на чём хош.

Главное чтоб был стандартный ввод вывод. Саму форму хош на С, тогда кто её вызовет?

Или ты пишет http client на С?

========== pas_check.pl =============== В нём делаешь, что хошь. Пример тривиальный.

#!/usr/bin/perl

use CGI qw(:standard);

$query = new CGI;

$ok = 'http://localhost/ok.html';

$address = 'http://localhost/adm/bad.html';

$log_str = "UNIX";

$pas_str = "UNIX";

$l = $query->param("log_str");

$p = $query->param("pas_str");

if(($p eq $pas_str) && ($l eq $log_str))

{ $address = $ok;

}

print $query->redirect($address);

================================================

Вообще много вариантов. Проблема в передаче пароля. В клиенте сразу шифровать???

didjim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.