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);