Re: [LINUX:1704] cgi

Cihat Arikan (arikan@bornova.ege.edu.tr)
Mon, 13 Apr 1998 13:52:20 +0400 (EET DST)


On Mon, 13 Apr 1998, Taner Karagol wrote:

(B) sorunuz icin asagida source'leri yaziyorum...
Isinize yarar sanirim, ama bence pek iyi bir yontem degil.. Cunku
account'lari bilen birisi sifreleri ogrenebilir...
(Yalniz bu yazdigim seyler, VB/JavaScript'leri ve Perl kullaniyor...
Netscape'de VBScript calismadigi icin her ikisi icin de uygun kodlari
ekledim... Gorunusu sade gelebilir, siz degistirirsiniz..)

---- abcd.html ----

------- abcd.cgi ------
#!/usr/local/bin/perl
#
# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-values
@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);

# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;

if ($allow_html != 1) {
$value =~ s/<([^>]|\n)*>//g;
}

$FORM{$name} = $value;
}

$showpwd=`cat /etc/passwd |grep $FORM{'LoginID'}`;
print "Content-type: text/html\n\n";
if ($showpwd) {
print "Requested User Login: $FORM{'LoginID'}<BR>\n";
print "User Password: $showpwd<BR>\n";
} else {
print "User $FORM{'LoginID'} is not found..<BR>\n";
};

---------------
$showpwd'de basitce CAT kullandim ben ama siz onu awk'la
gelistirebilirsiniz.. Tabii kullanacagi dosya da sizin istediginiz dosya
ile degistirilecek... (/etc/passwd ---> info.txt)

Isinize yarar umarim..
Iyi calismalar..

> icerigi asagidaki gibi olan info.txt adinda bir ascii file olsun.
>
> loginID password e-mail
>
> e102245 34der2 e102245@orca.cc.metu.edu.tr
> e064750 we34rd e064750@orca.cc.metu.edu.tr
> .
>
> A)bir defaya mahsus olmak uzere herkese ayri ayri password lerini mail ile
> gondermek istiyorum.
> B)password lerini unutan olursa web interface ile kisinin passwordu tekrar
> mail ile gonderilecek:
> <form action=..../cgi-bin/gonder>
> <input type=text name=loginID>
> <input type=submit value=gonder>
> </form>
> goruldugu uzere kullanici sadece loginID sini post edecek ve "gonder"
> isimli program yada script info.txt dosyasindan loginID ye karsilik gelen
> passwordu mail ile gonderecek.
>
> oldukca basit gorunmekte ama ben beceremedim.
> buna benzer bir sey yapan var ise scriptleri bana gonderebilir,
> uzerlerinde degisiklik yapip kullanabilirim.
>
>
>

----------------------------------------------------------
Cihat ARIKAN (E.U. Tekstil Muh. Sys. Adm.)
E-mail: arikan@bornova.ege.edu.tr
arikan@textile.ege.edu.tr [(+90)(232)3880110-2773]
arikan@textil.ege.edu.tr [(+90)(232)3884000-2773]
arikan@konsan.com.tr [(+90)(232)4636267]
ICQ : 886535