1 頁 (共 1 頁)

[問題]2.0.21 版禁用帳號功能失靈?

發表於 : 2006-09-10 10:27
momoC
安裝了全新的 2.0.21 版論壇,正在測試功能是否一切正常。我習慣將論壇開放訪客留言。但會限制訪客不可以用「訪客」這個名字。以前只要在禁用帳號將「訪客」封掉就好,但 2.0.21 版這功能失靈耶~

我以為是我新加功能把它加壞了,但再全部重新安裝,結果也還是一樣。不知道前輩們是否知道是哪支程式的問題?我猜是 function_post.php ,但目前還沒看到有什麼不對的地方。

請指教,謝謝!

發表於 : 2006-09-10 14:09
~倉木麻衣~
那應該是你之前有改過incluses/functions_validate.php
建議你用「中文 過濾」、「搜尋符合以上所有關鍵字的資料」尋找一下
裡頭一篇討論串跟你的問題符合
[討論]phpbb的帳號封鎖"中文字"
另一篇是文字過濾的, 不過做法大同小異
[外掛]文字過濾修正

小試了一下, 主因應該是Regular Expression的\b對中文字水土不服吧
將incluses/functions_validate.php的這行
if (preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['disallow_username'], '#')) . ")\b#i", $username))
改成這樣就可以比對成功(只有去掉前後的\b定位修飾符)
if (preg_match("#(" . str_replace("\*", ".*?", preg_quote($row['disallow_username'], '#')) . ")#i", $username))

發表於 : 2006-09-12 12:00
momoC
這....這實在....太神奇了
完全看不懂為什麼要這樣改,但沒錯,這樣改就可以用了
真是多謝大哥相救之恩~~

ps. 那個...原來之前是我關鍵字用錯,所以查不到相關話題嗎? :oops: 謝謝指點