Code:
#!/usr/bin/perl
#Jednostavan pretrazivac
#EliteSecurity Web Design Center
#
# promeni po potrebi
$basedir = '/ukucaj basedir';
$baseurl = 'http://tvoj-sajt.com';
@files = ('*.shtml','demos/links/*.html','demos/guest/*.html');
$title = "Naslov stranice";
$title_url = 'http://www.tvojsajt.com/';
$search_url = 'http://tvojsajt.com/search.html';
# Ne menjati nista posle ove linije #
&parse_form;
# posalji fajlove da traze
&get_files;
# Pretrazi fajlove
&search;
#Ibzci rezulate
&return_html;
sub parse_form {
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;
$FORM{$name} = $value;
}
}
sub get_files {
chdir($basedir);
foreach $file (@files) {
$ls = `ls $file`;
@ls = split(/\s+/,$ls);
foreach $temp_file (@ls) {
if (-d $file) {
$filename = "$file$temp_file";
if (-T $filename) {
push(@FILES,$filename);
}
}
elsif (-T $temp_file) {
push(@FILES,$temp_file);
}
}
}
}
sub search {
@terms = split(/\s+/, $FORM{'terms'});
foreach $FILE (@FILES) {
open(FILE,"$FILE");
@LINES = <FILE>;
close(FILE);
$string = join(' ',@LINES);
$string =~ s/\n//g;
if ($FORM{'boolean'} eq 'AND') {
foreach $term (@terms) {
if ($FORM{'case'} eq 'Bezbrizno') {
if (!($string =~ /$term/i)) {
$include{$FILE} = 'ne';
last;
}
else {
$include{$FILE} = 'da';
}
}
elsif ($FORM{'case'} eq 'Osetljivo') {
if (!($string =~ /$term/)) {
$include{$FILE} = 'ne';
last;
}
else {
$include{$FILE} = 'da';
}
}
}
}
elsif ($FORM{'boolean'} eq 'OR') {
foreach $term (@terms) {
if ($FORM{'case'} eq 'Bezbrizno') {
if ($string =~ /$term/i) {
$include{$FILE} = 'da';
last;
}
else {
$include{$FILE} = 'ne';
}
}
elsif ($FORM{'case'} eq 'Osetljivo') {
if ($string =~ /$term/) {
$include{$FILE} = 'da';
last;
}
else {
$include{$FILE} = 'ne';
}
}
}
}
if ($string =~ /<title>(.*)<\/title>/i) {
$titles{$FILE} = "$1";
}
else {
$titles{$FILE} = "$FILE";
}
}
}
sub return_html {
print "Sadrzaj: text/html\n\n";
print "<html>\n <head>\n <title>Rezultat Pretrage</title>\n </head>\n";
print "<body>\n <center>\n <h1>Rezultat Pretrage u $title</h1>\n </center>\n";
print "Ispod su rezultati pretrage u poredku:<p><hr size=7 width=75%><p>\n";
print "<ul>\n";
foreach $key (keys %include) {
if ($include{$key} eq 'yes') {
print "<li><a href=\"$baseurl$key\">$titles{$key}</a>\n";
}
}
print "</ul>\n";
print "<hr size=7 width=75%>\n";
print "Informacije Pretrage:<p>\n";
print "<ul>\n";
print "<li><b>Terms:</b> ";
$i = 0;
foreach $term (@terms) {
print "$term";
$i++;
if (!($i == @terms)) {
print ", ";
}
}
print "\n";
print "<li><b>Koristi BOOL:</b> $FORM{'boolean'}\n";
print "<li><b>Slucaj $FORM{'case'}</b>\n";
print "</ul><br><hr size=7 width=75%><P>\n";
print "<ul>\n<li><a href=\"$search_url\">Nazad na pretragu</a>\n";
print "<li><a href=\"$title_url\">$title</a>\n";
print "</ul>\n";
print "<hr size=7 width=75%>\n";
print "Skriptica Pretrage od strane Budale <a href=\"http://www.ludakuca.com/ESWDC/index.php">ESWDC</a>\n";
print "</body>\n</html>\n";
}
Stavi je u cgi-bin i chomduj 755. Napisi je u obliku .cgi
ONDA stavi ovaj fajlu search.html
Napravis fajl search.html sa formom, i akcija da ti bude poslata na
Action="search.cgi" ili kako si ve nazvao fajl, ako nisu u istom direktorijumu onda naved gde se fajl nalazi, i search.html MORA DA bude CHMOD 744.
Ovkao to sa kcijom izvedi nekoako.
Code:
<form method=POST action="http://www.tvoj-sajt.com/cgi-bin/search.cgi">
Eto toliko.