Changement de mot de passe
proc erreur {message} {
hputs "$message
retour"
}
hgetvars
foreach v {username ancien nouveau1 nouveau2} {
set $v $VARS($v)
}
set ok 1
foreach {var desc regexp} {
username {nom d'utilisateur} {^[-a-zA-Z0-9_.][-a-zA-Z0-9_.]*$}
ancien {ancien mot de passe} {^[-a-zA-Z0-9_._@=+*/$%!:;,?./][-a-zA-Z0-9_._@=+*/$%!:;,?./]*$}
nouveau1 {nouveau mot de passe} {}
} {
if {![regexp $regexp $var]} {
erreur "Ce paramètre ne convient pas : $desc."
set ok 0
}
}
if {$nouveau1 != $nouveau2} {
erreur "Les deux nouveaux mots de passe tapés ne concordent pas."
set ok 0
}
if {$ok} {
catch {
exec /usr/local/bin/chpasse $username $ancien $nouveau1
} err
puts $err
}
?>
set f [open /home/web/menueto.html] ; hputs [read $f] ; close $f
?>