アキラのITメモ:サニタイジングをする
IT関係、技術関係のメモです。
サニタイジングをする
CGIを作成する時などにクロスサイトスクリプティング(XSS)対策のために必ず必要になるサニタイジングですが、いつもどうやるんだっけ?と忘れてしまいがちなのでここにメモしておくことにします。基本的には以下のような感じでOKです。このあたりの話はIPA セキュアWebプログラミングのページが役に立ちます。
#!/usr/local/bin/perl
use CGI;
$query = new CGI;
$input = $query->param("input");
$input = &sanitize($input);
print <<"EOM";
Content-type: text/html
<html><body>
$input
</body><html>
EOM
exit;
# サニタイジングをする関数
sub sanitize {
my $input = $_[0];
$input =~ s/&/&/g; # & → &
$input =~ s/</</g; # < → <
$input =~ s/>/>/g; # > → >
$input =~ s/"/"/g; # " → "
$input =~ s/'/'/g; # ' → '
return $input;
}
なお上記のCGIスクリプト(input.cgiとする)を呼び出す例は以下の通りです。
<html><body> <form action="./input.cgi"> input: <input type="text" size="30" name="input"> <input type="submit" value="submit"> </form> </body></html>
カテゴリ:
Perl
投稿日: 2007年01月05日 00:01
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/412
Trackback URL: http://akira-site.net/cgi-bin/mt/mt-tb.cgi/412
コメント
コメントを投稿
カテゴリ「Perl」内の記事
サイト内検索
カテゴリ
- Linux
- Linux Tips [14]
- Linux ソフトウェア [3]
- Web技術
- (X)HTML/CSS [4]
- JavaScript [1]
- MovableType [7]
- その他 [3]
- 各種API [3]
- 各種ツール [4]
- Windows
- Win Tips [3]
- Win ソフトウェア [6]
- コネタ [7]
- プログラミング
- 機器 [4]