From 7fbc2a92464188f6a2fce3017e18e39b4a8d9f90 Mon Sep 17 00:00:00 2001 From: kgsoft Date: Fri, 23 Mar 2018 08:50:56 +0000 Subject: [PATCH] =?utf8?q?BugTrack-plugin/424=20:=20=E3=83=9A=E3=83=BC?= =?utf8?q?=E3=82=B8=E5=90=8D=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E5=87=A6?= =?utf8?q?=E7=90=86=E3=81=AE=E5=A4=96=E9=83=A8=E5=8C=96=E5=AF=BE=E5=BF=9C?= =?utf8?q?=EF=BC=88=E6=A8=99=E6=BA=96=E6=A4=9C=E8=A8=BC=E5=88=86=E3=81=AE?= =?utf8?q?=E3=81=BF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/Util.pm | 29 +++++++++++++++++++++++++++++ lib/Wiki.pm | 2 +- plugin/core/EditPage.pm | 2 +- plugin/rename/RenameHandler.pm | 2 +- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/lib/Util.pm b/lib/Util.pm index 598bdd9..e7f8f0f 100644 --- a/lib/Util.pm +++ b/lib/Util.pm @@ -168,6 +168,35 @@ sub delete_tag { #=============================================================================== #

+# ¥Ú¡¼¥¸Ì¾¤¬»ÈÍѲÄǽ¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
+# »ÈÍѲÄǽ¤Ê¾ì¹ç¤Ï¿¿¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£ +#

+#
+# if(Util::check_pagename($pagename)){
+#   # »ÈÍѲÄǽ¤Ê¥Ú¡¼¥¸Ì¾¤Î¾ì¹ç
+# }else{
+#   # »ÈÍѤǤ­¤Ê¤¤¥Ú¡¼¥¸Ì¾¤Î¾ì¹ç
+# }
+# 
+#=============================================================================== +sub check_pagename { + my $pagename = shift; + + #¥Ú¡¼¥¸Ì¾¤ò¥Á¥§¥Ã¥¯ + if( !defined($pagename) + || $pagename eq "" # ¶õ + || $pagename =~ /[\|\[\]]/ # |[] + || $pagename =~ /^:/ # ¥³¥í¥ó¤Ç»Ï¤Þ¤ë + || $pagename =~ /[^:]:[^:]/ # ¥³¥í¥óñÂΤǤλÈÍÑ + || $pagename =~ /^\s+$/ # ¶õÇò¤Î¤ß + ){ + return 0; + } + return 1; +} + +#=============================================================================== +#

# ¿ôÃͤ«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¿ôÃͤξì¹ç¤Ï¿¿¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£ #

#
diff --git a/lib/Wiki.pm b/lib/Wiki.pm
index 8b0fd7b..33862c9 100644
--- a/lib/Wiki.pm
+++ b/lib/Wiki.pm
@@ -1417,7 +1417,7 @@ sub save_page {
 	my $sage     = shift;
 	
 	# ¥Ú¡¼¥¸Ì¾¤ò¥Á¥§¥Ã¥¯
-	if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
+	if(!Util::check_pagename($pagename)){
 		die "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£";
 	}
 	# ¤¤¤Ã¤¿¤ó¥Ñ¥é¥á¡¼¥¿¤ò¾å½ñ¤­
diff --git a/plugin/core/EditPage.pm b/plugin/core/EditPage.pm
index 80e879e..078f633 100644
--- a/plugin/core/EditPage.pm
+++ b/plugin/core/EditPage.pm
@@ -39,7 +39,7 @@ sub do_action {
 	if($pagename eq ""){
 		return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
 	}
-	if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
+	if(!Util::check_pagename($pagename)){
 		return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
 	}
 	if(!$wiki->can_modify_page($pagename)){
diff --git a/plugin/rename/RenameHandler.pm b/plugin/rename/RenameHandler.pm
index 41e7eb9..d514890 100644
--- a/plugin/rename/RenameHandler.pm
+++ b/plugin/rename/RenameHandler.pm
@@ -45,7 +45,7 @@ sub do_rename {
 	if($newpagename eq ""){
 		return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó!!");
 	}
-	if($newpagename =~ /[\|:\[\]]/){
+	if(!Util::check_pagename($newpagename)){
 		return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
 	}
 	if($wiki->page_exists($newpagename)){
-- 
2.11.0