Ein kleiner CGI Passwortgenerator

Benötigt das PWGEN Paket deiner Distribution.

Ein kleiner CGI Passwortgenerator mit der Bash: (ACHTUNG! UNSICHER! NIEMALS SO AUF EINEM ÖFFENTLICHEN WEBSERVER BETREIBEN! Wer es doch mach, viel Glück :-D)

#!/bin/bash -x
echo Content-Type: text/html
echo ""
 
if [ -z $QUERY_STRING ]
then
/bin/cat << EOM1
<HTML>
<HEAD><TITLE>Kleiner Passwort Generator</TITLE>
</HEAD>
<BODY bgcolor="#ffffff" text="#000000">
<FORM action="http://mein-webserver.de/cgi-bin/pwgen.cgi" method="get">
<P> L&auml;nge des Passworts (3-99):  <INPUT name="len" type="text" size="2" max
length="2"> </P>
<FORM>
<form action="http://mein-webserver.de/cgi-bin/pwgen.cgi" method="get">
  <p>Mit oder ohne Sonderzeichen: <p>
    <input type="radio" name="secure" value="1"> ohne Sonderzeichen und alles kl
ein <br>
    <input type="radio" name="secure" value="2" checked> ohne Sonderzeichen groß
 und klein und Zahlen <br>
    <input type="radio" name="secure" value="3"> mit Sonderzeichen <br>
    <input type="radio" name="secure" value="4"> mit Sonderzeichen groß und klei
n <br>
    <input type="radio" name="secure" value="5"> mit Sonderzeichen groß und klei
n und Zahlen <br>
  </p>
        <input type="submit" value=" Absenden ">
        <input type="reset" value=" Abbrechen">
</form>
</BODY>
</HTML>
EOM1

echo "Und hier wie gewohnt:"
echo "<pre>"
pwgen -c -n -C
echo "</pre>"
 
else
 
/bin/cat << EOM2
  <HTML>
  <HEAD><TITLE>Kleiner Passwort Generator</TITLE>
  </HEAD>
  <BODY bgcolor="#ffffff" text="#000000">
EOM2

 
len=`echo $QUERY_STRING | awk -F"=" '{print $2}' | awk -F"&" '{print $1}'`
sonder=`echo $QUERY_STRING | awk -F"=" '{print $3}'`
if [ $len -gt 99 ]
then echo "Arrrgggll"
exit 1
fi
if [ $len -lt 3 ]
then echo "<img src=http://mein-webserver.de/dump.jpg alt=\"You are dumped\">"
exit 1
fi
 
case $sonder in
        1)
                echo "Das Passwort: <br>"
                echo "<pre>"
                pwgen -C $len
                echo "</pre>"
        ;;
        2)      
                echo "Das Passwort: <br>"
                echo "<pre>"
                pwgen  -c -n -C $len
                echo "</pre>"
        ;;
        3)      
                echo "Das Passwort: <br>"
                echo "<pre>"
                pwgen  -y -C $len
                echo "</pre>"
        ;;
        4)
                echo "Das Passwort: <br>"
                echo "<pre>"
                pwgen -c -y -C $len
                echo "</pre>"
        ;;
        5)
                echo "Das Passwort: <br>"
                echo "<pre>"
                pwgen -c -n -y -C $len
                echo "</pre>"
        ;;
        *)
                echo "<img src=http://mein-webserver.de/dump.jpg alt=\"You are dumped\">
"

        ;;
esac
/bin/cat << EOM3
  </BODY>
  </HTML>
EOM3

fi