GuestUser, хотя такая практика не рекомендуется. Любой пользователь может

изменить пароль общего имени и тем самым заблокировать другие

пользователи. Системный администратор — это имя роли, которое всегда

присутствуют и не должны быть перечислены выше.

E0F3

} еще {

Эта первая часть применяется для запросов GET. Вторая часть оператора IF

выполняется для POST-запросов; другими словами, когда измененная форма

поданный.

читать (STDIN, $_, $ENV{CONTENT_LENGTH});

мой ($body, %body, %allUsers, %oldUsers);

foreach $_ (разделить (/&/, $_)) {

с/\+/ /г;

s/\%(..)/pack( 1 C 1 , hex($l))/geo;

($_, $body) = разделить (/=/, $_, 2);

$тело{$_} = $тело;

$allUsers{$body}++ if / Пользователь$/;

}

Размещенные данные формы анализируются для восстановления списка, а затем имена

по сравнению с существующими именами в списке доступа пользователя/пароля.

мой $текст = "" ;

мои $добавки - 0 ;

мои $удаления = 0;

открыть (F, "$file") или ошибку ("$file : $!");

пока (<F>) {

# обрабатывать существующие имена

если (/"($ссылка):/) {

если ($allUsers{$1}) {

удалить $allUsers {$1};

# не нужно добавлять позже

} еще {

если (/^Системный администратор:/) {

} еще {

$удаляет++;

следующий;

# не копировать (кроме администратора)

}


ДОПОЛНИТЕЛЬНЫЕ ДОПОЛНИТЕЛЬНЫЕ КОМПОНЕНТЫ

}

235

}

$текст

$_;

}

В этот момент любые имена, которые не встречались в полученных данных, но были в

список доступа "удаляются" (не учитываются). Список доступа будет воссоздан из

представленные имена.

foreach (ключи сортировки %allUsers) {

# обрабатывать новые имена

если (/*$ссылка$/) {

моя соль $ = substr (время (), -2, 2);

мой $ crypt = 'crypt ($ _, $ соль);

$text .= "$_:$crypt\n";

$ добавляет++;

} еще {

следующий, если /*$/;

$par{body} .= « " EOF " ;

"<b>$__</b>" не признано приемлемым

имя пользователя. Пожалуйста, смотрите инструкции на

Предыдущая страница. <b>

EOF

}

}

Это завершает часть обработки. Новые имена были обеспечены

пароль по умолчанию (зашифрован в соответствии с обычным методом, используемым системами *nix и

встроенный в перл).

Список пользователей/паролей теперь перезаписывается измененным списком, хранящимся в тексте.

переменная.

open (F, ">$file") или error("$file: $!");

напечатать F $текст;

закрыть (F);