--- websec 2003-05-31 08:50:47.000000000 -0400 +++ myversion/websec 2003-10-30 14:56:31.000000000 -0500 @@ -80,6 +80,9 @@ # prepare digest @digest = (); +# prepare hidden vars +0ddens = (); + # Set default values local 0efaults = ( URL => "", @@ -108,6 +111,7 @@ UserAgent => "WebSec/1.7", DateFMT => " - 0 %B %Y (%a)", MailFrom => "", + GetHidden => "none", ); iteinfo = 0efaults; @@ -215,6 +219,7 @@ $digest = $siteinfo{Digest}; $useragent = $siteinfo{UserAgent}; $datefmt = $siteinfo{DateFMT}; + $getHidden = $siteinfo{GetHidden}; # Get today's date in the format we want. $today = strftime $datefmt, localtime; @@ -226,6 +231,21 @@ return 0; } + # Change hidden value in url SFO + $allHiddens = ""; + foreach $hidden (keys 0ddens) { + $allHiddens .= "&$hidden=".$hiddens{$hidden}; + } + + if ($url =~ /\?/ && $url =~ /\?$/) { + $url .= "DUMMY=".$allHiddens; + } + else { + $url .= $allHiddens; + } + + 0ddens = (); + # If essential parameters are not present, abort with error if ( $name eq "" || $prefix eq "" @@ -245,8 +265,8 @@ close(FILE); $subj = "$addsubject $name$today - $url"; $webdiff = -"$webdiffbin --basedir=$base --archive=$page_previous --current=$page_current --out=$outgoing " - . "--hicolor=$hicolor --ignore=$ignore --ignoreurl=$ignoreurl --tmin=$tmin --tmax=$tmax"; + "$webdiffbin --basedir=$base --archive=$page_previous --current=$page_current --out=$outgoing " + . "--hicolor=$hicolor --ignore=$ignore --ignoreurl=$ignoreurl --tmin=$tmin --tmax=$tmax"; if ($siteinfo{AsciiMarker}) { $webdiff .= " --asciimarker"; @@ -307,6 +327,47 @@ } } + # Get hidden var values SFO + if ( $getHidden ne "none" ) { + @getHidden = split /[,]/, $getHidden; + foreach (@getHidden) { + $hidden = $_; + @inputtype = ($resp->content =~ /<input ([^>]*)>/ig); + + foreach $inputtype (@inputtype) { + if ($inputtype =~ /value=\"/i) { + $inputtype =~ /value=\"([^\"]*)\"/i; + $value = $1; + } + elsif ($inputtype =~ /value=\'/i) { + $inputtype =~ /value=\'([^\']*)\'/i; + $value = $1; + } + else { + $inputtype =~ /name=([^ ]*)/i; + $value = $1; + } + + if ($inputtype =~ /name=\"/i) { + $inputtype =~ /name=\"([^\"]*)\"/i; + $name = $1 + } + elsif ($inputtype =~ /name=\'/i) { + $inputtype =~ /name=\'([^\']*)\'/i; + $name = $1 + } + else { + $inputtype =~ /name=([^ ]*)/i; + $name = $1 + } + + if ($name eq $hidden){ + $hiddens{$hidden} = $value; + } + } + } + } + open( HTML_FILE, ">$page_current" ); print HTML_FILE "<!-- X-URL: ", $resp->base, " -->\n"; print HTML_FILE "<BASE HREF= \"", $resp->base . "\">\n";