#!/usr/bin/perl $webCI_CGI = "webCI_Misafir V0.1"; ###########################[ AYARLAR ]################################ $data_dir = "http://members.lycos.co.uk/ashadowfex16/data"; $cgi_url = "http://members.lycos.co.uk/ashadowfex16/misafir.cgi"; $max_data = "5000"; $page_num = "5"; # Bir sayfada görünecek mesaj sayısı $admin = "zorroxxx"; # Misafir defteri şifresi $img_url = "./img"; ###########################[ AŞAĞIDA DEĞİŞİKLİK YAPMAYIN ]############# &get_input; if($in{'islem'} eq "") { &display; } if($in{'islem'} eq "deftere_yaz") { &input; } if($in{'islem'} eq "yaz") { if(($in{'isim'} eq "") || ($in{'kelime'} eq "")) { &error;} else { &write;} } if($in{'islem'} eq "sil") { &erase; } if($in{'islem'} eq "tamam") { if($in{'parola'} eq "") { &error_pass;} &eraseok; } else { &display; } ######################################################### sub get_input { if ($ENV{'QUERY_STRING'} ne "") { @pairs = split(/&/, $ENV{'QUERY_STRING'}); } else { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); } foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $in{$name} = $value; } } ########################################################### sub head { print "Content-type: text/html\n\n"; print " \n\n"; print < ShadowSystem.Tk

HEADER } ########################################################### sub foot { print "
webCI cgi-perl

\n"; print "
\n"; exit; } ########################################################## sub input { &head; print <<_HEAR_;

DEFTERE YAZ


İsim

E-Mail

Site Url

Mesaj konusu


_HEAR_ &foot; } ######################################################### sub write { open(Num,"<$data_dir/data.txt"); $num = ; close(Num); open(Num,">$data_dir/data.txt"); $num = $num+1; print Num "$num\n"; close(Num); $in{'kelime'} =~ s/\cM//g; $in{'kelime'} =~ s/\n+/
/g; &date; open(WFILE,">$data_dir/$num"); print WFILE "$in{'parola'}\n"; print WFILE "
\n"; print WFILE "\n"; print WFILE "\n"; print WFILE "

$in{'isim'} | $date$time | Bu mesajı sil

Yazanın websitesi: $in{ | $in{

$in{'title'} : $in{'pyung'}

$in{'kelime'}


\n"; close(WFILE); opendir (DATA,$data_dir); @num_data = readdir(DATA); $fil_data = @num_data-3; closedir(DATA); if($fil_data > $max_data ) { $count = 0; until($num <= 0) { if (-e "$data_dir/$num") { $count = ($count + 1); } $num = ($num - 1); if($count >= $max_data) { last } } until($num <=0) { unlink ("$data_dir/$num") ; $num = ($num - 1); } } &display; } ###################################################### sub error { &head; print "

FORM ALANINDA HATA VAR



Form alanında eksik kalan yerler var..

\n"; print "

Geri dönüp eksik yerleri tamamlayın.

\n"; print "

 

Geri

\n"; &foot; } ####################################################### sub erase { &head; print <MESAJ SİL

Silmek için şifreni yaz

Şifre :

START &foot; } ####################################################### sub eraseok { open(FILE,"<$data_dir/$in{'numara'}"); @file_num = ; close (FILE); chop($file_num[0]); if(($file_num[0] eq $in{'parola'}) || ($admin eq $in{'parola'})) { unlink("$data_dir/$in{'numara'}"); &display; } else { &error_pass; } } ##################################################### sub error_pass { &head; print "

Hatalı şifre yazdınız.!


\n"; print "

Şifre hatalı veya yazılı değil..

\n"; print "

 

\n"; print "

\n"; &foot; } ####################################################### sub display { open(Num,"<$data_dir/data.txt"); $num = ; close(Num); opendir (DATA,$data_dir); @num_data = readdir(DATA); $fil_data = @num_data-3; closedir(DATA); $file_num = $num; $tot_pg = int($fil_data/$page_num); if(($tot_pg*$page_num) < $fil_data) {$tot_pg = $tot_pg + 1; } &head; if(($in{'sayfa'} eq "") || ($in{'sayfa'} ==1)) { $d = 0; if($tot_pg <= 1) { print "
Deftere yazmak için tıklayın
Toplam $fil_data mesaj yazılmış
\n"; } else { print "
Deftere yazmak için tıklayın
Toplam $fil_data mesaj yazılmış    
\n"; } $num = $num+1; until ($num<=0) { $num = ($num - 1); if(-e "$data_dir/$num") { open(FILE,"<$data_dir/$num"); @data = ; close (FILE); $d = ($d+1); print "$data[1]\n"; print "$data[2]\n"; print "$data[3]\n"; print "$data[4]\n"; } if($d >= $page_num) { $page=1; last} } } if(($in{'sayfa'} ne "") &&($in{'sayfa'} !=1)) { $scount = (($in{'sayfa'}-1)*$page_num); $icount = 0; $d = 0; $pre_pg= $in{'sayfa'} - 1; $next_pg = $in{'sayfa'} + 1; if($next_pg <= $tot_pg) { print "
Deftere yazmak için tıklayınızToplam $fil_datamesaj yazılı    
\n"; } else { print "
Deftere yazmak için tıklayınız
Toplam $fil_data mesaj yazılmış    
\n"; } until ($num<=0) { if(-e "$data_dir/$num") { $icount = $icount + 1; if($icount >= $scount) { open(FILE,"<$data_dir/$num"); @data = ; close (FILE); $d = ($d+1); print "$data[1]\n"; print "$data[2]\n"; print "$data[3]\n"; print "$data[4]\n"; } if($d >= $page_num) { $page= $in{'sayfa'}; last} } $num = ($num - 1); } } print "|"; if(($tot_pg <= 1) || ($in{'sayfa'} eq "")){$page = 1; } else {$page= $in{'sayfa'}; } for ($i=1;$i<=$tot_pg;$i++) { if ($page == $i) { print "$i|"; } else{ print "$i|"; } } print "\n"; &foot; } sub date { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $month = ($mon + 1); $date = "$mday/$month/2002 | "; $time = "$hour:$min $sec"; } #########################[ SON ]#############################