Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket List/Search
>
Ticket #3559
XOOPS
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
CVS
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Forums
List of Forums
Help (1)
Open Discussion (1)
Mailing Lists
list of ML
xoops-cvslog
News
Ticket #3559
Ticket List
Submit New Ticket
RSS
新規ユーザー登録時にユーザー名のチェックに失敗
Open Date:
2003-12-15 19:19
Last Update:
2004-01-06 18:59
monitor
ON
OFF
Reporter:
toshimitsu
Owner:
(None)
Type:
Bugs
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Details
Reply
/register.php xoops2.0.x 共通
症状 新規ユーザー登録時に
Warning [PHP]: Compilation failed: range out of order
in character class at offset 14
in file register.php line 74
「ユーザ名として使用可能な文字の設定」を"中"か"弱"にして
新規登録するとphpデバッガでWarning。
ユーザー名のチェックに失敗。
xoops日本公式サイトフォーラム
http://jp.xoops.org/modules/newbb/viewtopic.php?
viewmode=flat&order=DESC&topic_id=2527&forum=11
[引用]minemaru さんが書きました:
私の解釈ではパターン文字列の途中にある"-"は範囲指定の文字
(予約語)として処理されてるということです。
"-"を比較の対象にする時には、パターン文字列の先頭、
または、最後に記述するのだと思うのですが。
「ユーザ名として使用可能な文字の設定」を"強"にした場合には
"-"はパターン文字列の最後に記述されていますのでエラーになら
ないということです。
[/引用]
Ticket History (3/3 Histories)
2003-12-17 16:25
Updated by:
gij
Comment
Reply
Logged In: YES
user_id=2366
一応、修正後のコードを提示しておきます。
register.php 56行目から
if ( strrpos($email,' ') > 0 ) {
$stop .= _US_EMAILNOSPACES.'<br />';
}
$uname = $myts->oopsStripSlashesGPC($uname);
// $strict = 'a-zA-Z0-9_-';
// $medium = $strict."<>,.$%#@!'\"";
// $loose = $medium."?{}[]()^&*`~;:\\+=";
switch ( $xoopsConfigUser['uname_test_level'] ) {
case 0:
// restrict
$restriction = '/[^a-zA-Z0-9\_\-]/';
break;
case 1:
// medium
$restriction = '/[^a-zA-Z0-9\_\-
\<\>\,\.\$\%\#\@\!\\\'\"]/';
break;
case 2:
// loose
$restriction = '/[\000-\040]/' ;
break;
}
if (!isset($uname) || $uname == '' || preg_match
($restriction,$uname)) {
$stop .= _US_INVALIDNICKNAME."<br />";
}
if ( strlen($uname) > $xoopsConfigUser
['maxuname'] ) {
$stop .= sprintf(_US_NICKNAMETOOLONG,
$xoopsConfigUser['maxuname'])."<br />";
}
2004-01-06 18:58
Updated by:
onokazu
Comment
Reply
Logged In: YES
user_id=754
パッチ提供ありがとうございます。
CVSに反映しておきました。
2004-01-06 18:59
Updated by:
onokazu
Ticket Close date
is changed to
2004-01-06 18:59
Resolution
Update from
None
to
Fixed
Status
Update from
Open
to
Closed
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
症状 新規ユーザー登録時に
Warning [PHP]: Compilation failed: range out of order
in character class at offset 14
in file register.php line 74
「ユーザ名として使用可能な文字の設定」を"中"か"弱"にして
新規登録するとphpデバッガでWarning。
ユーザー名のチェックに失敗。
xoops日本公式サイトフォーラム
http://jp.xoops.org/modules/newbb/viewtopic.php?
viewmode=flat&order=DESC&topic_id=2527&forum=11
[引用]minemaru さんが書きました:
私の解釈ではパターン文字列の途中にある"-"は範囲指定の文字
(予約語)として処理されてるということです。
"-"を比較の対象にする時には、パターン文字列の先頭、
または、最後に記述するのだと思うのですが。
「ユーザ名として使用可能な文字の設定」を"強"にした場合には
"-"はパターン文字列の最後に記述されていますのでエラーになら
ないということです。
[/引用]