HTMLエスケープ
CGI::escapeHTMLメソッドにより、エスケープが可能
test.cgi
#!"C:/Perl64/bin/perl.exe"
use strict;
use warnings;
use CGI;
my $_title = "テスト";
my $_data = "エスケープ";
my $_escape;
my $_escape2;
# エスケープデータ設定
$_escape = "<input type=\"text\" name=\"item1\" value=\"aaaaaaaaaa\" />";
# エスケープ対応
$_escape2 = CGI::escapeHTML($_escape);
my $_xss = "<input type=\"text\" name=\"aaaa\" value=\"\" /><script>alert('aaa');</script>\" />";
# エスケープ対応
my $_xss2 = CGI::escapeHTML($_xss);
my $_xss3a = "\" /><script>alert('aaa');</script>";
my $_xss3 = CGI::escapeHTML($_xss3a);
print "Content-Type: text/html;charset=utf-8;\n\n";
print <<HTML_EOF;
<html>
<head>
<title>$_title</title>
</head>
<body>
<div>
$_data
</div>
<hr />
<div>
エスケープなし<div>$_escape</div>
エスケープ済み<div>$_escape2</div>
</div>
<hr />
<div>
エスケープ済み<div>$_xss2</div>
エスケープ済み<div><input type="text" name="bbb" value="$_xss3" /></div>
</div>
</body>
</html>
HTML_EOF
HTMLソース
画面
最終更新:2012年01月20日 21:38