#===============================================================================
# <p>
+# ¥Ú¡¼¥¸Ì¾¤¬»ÈÍѲÄǽ¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£<br>
+# »ÈÍѲÄǽ¤Ê¾ì¹ç¤Ï¿¿¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£
+# </p>
+# <pre>
+# if(Util::check_pagename($pagename)){
+# # »ÈÍѲÄǽ¤Ê¥Ú¡¼¥¸Ì¾¤Î¾ì¹ç
+# }else{
+# # »ÈÍѤǤ¤Ê¤¤¥Ú¡¼¥¸Ì¾¤Î¾ì¹ç
+# }
+# </pre>
+#===============================================================================
+sub check_pagename {
+ my $pagename = shift;
+
+ #¥Ú¡¼¥¸Ì¾¤ò¥Á¥§¥Ã¥¯
+ if( !defined($pagename)
+ || $pagename eq "" # ¶õ
+ || $pagename =~ /[\|\[\]]/ # |[]
+ || $pagename =~ /^:/ # ¥³¥í¥ó¤Ç»Ï¤Þ¤ë
+ || $pagename =~ /[^:]:[^:]/ # ¥³¥í¥óñÂΤǤλÈÍÑ
+ || $pagename =~ /^\s+$/ # ¶õÇò¤Î¤ß
+ ){
+ return 0;
+ }
+ return 1;
+}
+
+#===============================================================================
+# <p>
# ¿ôÃͤ«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¿ôÃͤξì¹ç¤Ï¿¿¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£
# </p>
# <pre>
my $sage = shift;
# ¥Ú¡¼¥¸Ì¾¤ò¥Á¥§¥Ã¥¯
- if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
+ if(!Util::check_pagename($pagename)){
die "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£";
}
# ¤¤¤Ã¤¿¤ó¥Ñ¥é¥á¡¼¥¿¤ò¾å½ñ¤
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)){
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)){