http://www.asyura2.com/14/test31/msg/834.html
| Tweet |
安全で安定した阿修羅掲示板の活用のために、HTMLの書式で入力された阿修羅掲示板の記事やコメントの投稿文のHTMLの構文やタグの使われ方などが適切であるかをサーバ側でチェックするPerlのスクリプト chkmsg version alpha 0.10 を公開します。
本ソフトウェアは、MIT license および CC0 1.0 の下で配布します。
バグの御指摘や、忌憚のない御意見をお寄せ下さい。
1 #!/usr/bin/perl
2 ##!c:/Perl/bin/perl.exe
3 # lang=ja charset=utf-8
4 #
5 # chkmsg: 掲示板システムの安全性と安定性の確保のため、ユーザが入力したHTMLのデータの形式をチェックする。
6 #
7 # Jan. 16, 2019.
8 # 本ソフトウェアは、MIT license および CC0 1.0 の両方の下で配布されています。
9 #
10 # Copyright (c) 2019 New Communist Club 新共産主義クラブ
11 # Released under the MIT license
12 # https://opensource.org/licenses/mit-license.php
13 #
14 # CC0 1.0 全世界
15 # https://creativecommons.org/publicdomain/zero/1.0/legalcode.ja
16 #
17 #
18
19 use strict;
20 use warnings;
21 use CGI;
22
23 # global variables
24 our @valid_script_tag=(
25 #'', # As is.
26 ' と、空白部分を含めて一字一句間違えずに入力してください。',
601 130=>'開始タグで、利用できないタグ名が使われています。セキュリティ上の理由により、掲示板への書き込みで利用できるHTMLのタグ名(要素名)は限定されています。',
602 140=>'終了タグで、利用できないタグ名が使われています。セキュリティ上の理由により、掲示板への書き込みで利用できるHTMLのタグ名(要素名)は限定されています。',
603 150=>'タグの記述に誤りがあります。開始タグと終了タグの、どちらとも認識できませんでした。',
604 160=>'開始タグと終了タグの並び順が間違っています。終了タグの直前のタグは、同じタグ名の開始タグでなければなりません。',
605 170=>'終了タグの直前のタグが、同じタグ名の開始タグになっていません。異なるタグ名の要素間は互いに「入れ子」の関係になっていなければなりません。',
606 180=>'入力したHTMLデータ中の開始タグと終了タグの個数が違っています。開始タグと終了タグの個数は同じでなければなりません。',
607 190=>'入力したHTMLデータ中の開始タグと終了タグの個数が違っています。開始タグと終了タグの個数は同じでなければなりません。',
608 230=>'セキュリティ上の理由により、onload onclick onerror のような on で始まる属性名を使って、イベント発生時の動作を定義することはできません。',
609 240=>'セキュリティ上の理由により、属性名 srcdoc を使って、iframe タグを記述することはできません。',
610 250=>'iframe タグで、利用できない URI が src で指定されています。セキュリティ上の理由により、iframe タグで属性名 src によって指定できる URI は限定されています。',
611 260=>'セキュリティ上の理由により、a タグで、属性名 href を使って指定できる値は、http:// または https:// で始まる URI に限定されています。',
612 270=>'タグの記述が間違っています。属性名と値を正しく読み込めません。',
613 );
614
615 my $header='HTML Message Input Error';
616 my $error_title='' . 'Error ' . $errline . '
';
617 $wrong_code='' . $cgi0->escapeHTML($wrong_code) . '
';
618 my $error_description=$cgi0->escapeHTML($description{$errnum});
619 $error_description='' . $error_description . '
';
620 my $footer='';
621
622 my $error_message = $header . $error_title . $wrong_code . $error_description . $footer;
623
624 return $error_message;
625 }
626 # end of sub errmsg
627
投稿コメント全ログ コメント即時配信 スレ建て依頼 削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/
since 1995
スパムメールの中から見つけ出すためにメールのタイトルには必ず「阿修羅さんへ」と記述してください。
すべてのページの引用、転載、リンクを許可します。確認メールは不要です。引用元リンクを表示してください。
スパムメールの中から見つけ出すためにメールのタイトルには必ず「阿修羅さんへ」と記述してください。すべてのページの引用、転載、リンクを許可します。確認メールは不要です。引用元リンクを表示してください。