1 頁 (共 1 頁)

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

發表於 : 2004-12-01 22:56
御津闇慈
大家都知道PHPBB有個帳號封鎖的功能\r
但是此帳號封鎖的功能卻有個很嚴重的缺點
就是幾乎不支援中文
例如我打上"小猴子"為封鎖的名稱\r
但是到最後"小猴子"還是註冊成功
所以俺被某隻大猴子在俺上班中叫出來看是否修正= =|||(還好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)
這樣\r
就算註冊"我是一隻小猴子"也會出現帳號封鎖的訊息\r
當然是否會影響到PHPBB本身我就不太了解囉
有問題可以提出討論
基本上俺不素學資訊低就素=,.=||

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

發表於 : 2004-12-01 23:44
hpo14
御津闇慈 寫:這樣\r
就算註冊"我是一隻小猴子"也會出現帳號封鎖的訊息
所以這樣設定,只要在後台設定想封鎖的字眼\r

那只要是 *封鎖的字眼* 此類的都會不能註冊嗎?

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

發表於 : 2004-12-02 00:02
御津闇慈
hpo14 寫:
御津闇慈 寫:這樣\r
就算註冊"我是一隻小猴子"也會出現帳號封鎖的訊息
所以這樣設定,只要在後台設定想封鎖的字眼\r

那只要是 *封鎖的字眼* 此類的都會不能註冊嗎?
正確來說應該是\r
假如你打上小猴子的話\r
凡是申請的帳號有"小" "猴" "子"
均不能以用就是(詳細情形我是不太了解~或許藍天有比較完善低過濾法?)

發表於 : 2004-12-02 00:04
Martinet
炎大是說..這樣都會封鎖?

[小M]

發表於 : 2004-12-02 00:05
aiken
我一直以為應該是...

"*小*"
"*猴*"
"*子*"
"*小猴子*"

發表於 : 2004-12-02 00:13
御津闇慈
Martinet 寫:炎大是說..這樣都會封鎖?

[小M]
沒錯!!
基本上它好像是把每個字都拆開
例如小猴子
*小*
*猴*
*子*
拆成這樣來做判斷

發表於 : 2004-12-02 00:15
hpo14
不過按照這樣封鎖的方式的話!

假設甲要註冊"王小明"...而論壇之前可能被叫做"小明"的來搗亂
因此封鎖 "小明"此兩個字

導致 甲 無法註冊~這樣不就算是BUG了嗎?

發表於 : 2004-12-02 00:19
Martinet
這不是Bug吧..
是炎大說的..

封鎖小猴子會造成 小M , 猴猴 , 小子\r

都會被封鎖..

而不是 「我不是小猴子」會被封鎖

=o=話說..我很討厭這段phpXD

不喜歡處理字串的一3一"

發表於 : 2004-12-02 00:24
hpo14
御津闇慈 寫:這樣
就算註冊"我是一隻小猴子"也會出現帳號封鎖的訊息
可是它有寫 "我不是小猴子" 也會被封鎖ㄋㄟ~~

發表於 : 2004-12-02 00:29
aiken
咦~

那他也會自己取交集嗎?
如果註冊帳號是 "小猴" "猴子" 也會嗎?

發表於 : 2004-12-02 00:31
Martinet
沒錯..炎大好像就是這個意思

輸入封鎖的字串..只要有同樣的字就不行

這算是一個大Bug...|||

發表於 : 2004-12-02 00:38
hpo14
那如果採用的炎大的程式

英文也會一樣嗎?

如果一樣~~那就爽了~

假設封鎖 tom 的字眼~~

只要用到 tom 三個其中的一個字就掛了!

發表於 : 2004-12-09 00:00
御津闇慈
hpo14 寫:那如果採用的炎大的程式

英文也會一樣嗎?

如果一樣~~那就爽了~

假設封鎖 tom 的字眼~~

只要用到 tom 三個其中的一個字就掛了!
唉呀呀
這篇怎麼流到第二頁哩\r
現在目前有個克難的方式
不過缺點是不能使用*字元(其實PHPBB就已經把*字元寫進去哩)

克難方式

代碼: 選擇全部

#-----[ 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)) 
假如打上"小竹"作為封鎖的字串的話\r

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

發表於 : 2006-11-30 15:51
CYC
請問一下什麼狀況下會發生會員帳號不能使用英文字母以及數字的情況(註冊或以訪客身份發表皆顯示封鎖)
disallow以及banlist都已經清空
小弟快被搞瘋了 請問有沒有人可以救救我
http://www.rehcare.com.tw/phpBB2/