#!/usr/bin/perl #----------------------------------------------- # form.cgi written by T.MIZOBUCHI #----------------------------------------------- use strict; require 'jcode.pl'; require 'cgi-lib.pl'; ### フォームから受けとる変数 my %in; my $name; my $sex; my $married; my $job; my $address; ####################################################### ### main ####################################################### ### HTML Header print "Content-type: text/html\n\n"; &print_header(); ### フォームデータ取得 &ReadParse(\%in); $name = $in{'name'}; $sex = $in{'sex'}; $married = $in{'married'}; $job = $in{'job'}; $address = $in{'address'}; ### euc にコンバート ### タグ・改行置換 Cross Site Scripting 対策 &tag_trans($name); &tag_trans($sex); &tag_trans($married); &tag_trans($job); &tag_trans($address); print <<"EOF";

Registration Form Example


source (form.cgi)


EOF &print_form(); &print_footer(); ######### Main ended ################################# ####################################################### ### Print HTML Header ####################################################### sub print_header{ print <<"EOF"; Form Exemple EOF } ####################################################### ### Print HTML Footer ####################################################### sub print_footer{ print <<"EOF"; EOF } ###################################################### ### フォーム内容表示 ###################################################### sub print_form{ print <<"EOF";

Name : $name

Sex : $sex

Married : $married

Occupation : $job

Address :
$address


EOF } ################################################### ### タグ・改行置換 ################################################### sub tag_trans{ ### euc にコンバート &jcode::convert(\$_[0],'euc'); ### タグ置換 $_[0] =~ s/&/&/g; $_[0] =~ s//>/g; ### 改行置換 $_[0] =~ s/\r\n/
/g; $_[0] =~ s/\r/
/g; $_[0] =~ s/\n/
/g; }