Ticket #3559

新規ユーザー登録時にユーザー名のチェックに失敗
Eröffnet am: 2003-12-15 19:19 Letztes Update: 2004-01-06 18:59

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine

Details

/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-Verlauf (3/3 Historien)

2003-12-17 16:25 Aktualisiert von: gij
Kommentar
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 Aktualisiert von: onokazu
Kommentar
Logged In: YES
user_id=754

パッチ提供ありがとうございます。
CVSに反映しておきました。
2004-01-06 18:59 Aktualisiert von: onokazu
  • Ticket Close date is changed to 2004-01-06 18:59
  • Lösung Update from Keine to Gefixt
  • Status Update from Offen to Geschlossen

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden