#!/usr/bin/perl #
要素でウェブのメニューを実現する為のスクリプト(平成16年 3月20日 修正)。 # 平成16年 1月24日 さいたま・しらぎくさいと # (c)2004 Marguerite Site, Saitama, Japan. # www.marguerite.jp $url='http:// ... /'; #基準となるURLを入れる(末尾は必ず「/」にする)。 $q2=''; $dir=''; read(STDIN,$q2,$ENV{'CONTENT_LENGTH'}); foreach (split(/[&;]/,$q2)) { tr/+/ /; s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ego; ($i,$j)=split(/=/,$_); if ($i eq "d") { $j=~s/\A\/+//; $j=~s/\/+\Z//; $j=~s/\.\.\///g; $dir=$j; } if ($i eq "a") { $j=~s/\A\/+//; $j=~s/\.\.\///g; unless ($j=~/\.html?\Z/) { $j.='.html'; } $addr=$j; } } $i="$url$dir/$addr"; # ネットスケープ 4.x以前対策。 if ($ua=~/\AMozilla\/(\d+)\./ && $1<5 && !($ua=~/MSIE/ || $ua=~/Opera/ || $ua=~/DDIPOCKET/)) { $i=<<"ED"; ED print "content-type: text/html\n\n$i"; exit; } print "location: $\n\n";