1 頁 (共 1 頁)

[討論]phpbb的帳號封鎖"中文字"

發表於 : 2006-09-13 , 20:25
懸壺子
[討論]phpbb的帳號封鎖"中文字"
http://phpbb-tw.net/phpbb/viewtopic.php?t=30300

大家都知道PHPBB有個帳號封鎖的功能
但是此帳號封鎖的功能卻有個很嚴重的缺點
就是幾乎不支援中文
例如我打上"小猴子"為封鎖的名稱
但是到最後"小猴子"還是註冊成功
所以俺被某隻大猴子在俺上班中叫出來看是否修正= =|||(還好BOSS沒時常上來巡視,不然俺就死哩)
有下載藍天的或許有修正到(他說低!?)
不過我還是提供我修改的方法吧(不過我手上只有2.0.11XD)

代碼: 選擇全部

 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_validate.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
if (preg_match("#b(" . str_replace("*", ".*?", phpbb_preg_quote($row['disallow_username'], '#')) . ")b#i", $username)) 


# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

$disallow_username = @str_replace("*", ".*?" . preg_match("#" , phpbb_preg_quote($row['disallow_username'], "#i" . '#'))); 
            $username = @str_replace("*", ".*?" . preg_match("#" , phpbb_preg_quote($username, "#i" . '#'))); 
            if ($disallow_username == $username) 
這樣
就算註冊"我是一隻小猴子"也會出現帳號封鎖的訊息
當然是否會影響到PHPBB本身我就不太了解囉
有問題可以提出討論
基本上俺不素學資訊低就素=,.=||

Re: [討論]phpbb的帳號封鎖"中文字"

發表於 : 2006-09-13 , 20:26
懸壺子
克難方式

代碼: 選擇全部

 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_validate.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
if (preg_match("#b(" . str_replace("*", ".*?", phpbb_preg_quote($row['disallow_username'], '#')) . ")b#i", $username)) 


# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

$disallow_username = $row['disallow_username']; 
if(strstr($username ,$disallow_username)) 
//if (preg_match("#b(" . str_replace("*", ".*?", phpbb_preg_quote($row['disallow_username'], '#')) . ")b#i", $username))  
假如打上"小竹"作為封鎖的字串的話

有個會員申請"我是小竹仔"(粗體就是比對封鎖的字元)
馬上被封鎖
但是假如有個會員申請"小竹子是帥哥"
照舊被封鎖
但是假如申請的ID是"又Q又香的紅燒竹筒飯"(有這東西嗎= =?)
就會通過註冊
因為採用了strstr的功能=>在字串中搜尋字串
等於說不用*字元做大籠統的搜尋
當然會漏掉多少俺也不知道
就前面說低
俺只是讀機械系低
會也只會CNC而已=_=/