[問題] URL BBCode
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
[問題] URL BBCode
●架設主機作業系統:Linux RedHat。
●您的上網方式:ADSL Seednet T1/384k。
●您安裝的程式:Apache 1.3.28 + php 4.3.2 + MySql 3.23.56。
●您的 phpBB2 版本:phpBB 2.0.6。
剛剛發現到一個現象,竹貓這邊也是,舉例:
測試下載
如果檔名中間有空白字元,那麼 URL BBCode 就會失效。
這個問題在我的 2.0.6 上也出現了,有什麼方法可以解決嗎??
●您的上網方式:ADSL Seednet T1/384k。
●您安裝的程式:Apache 1.3.28 + php 4.3.2 + MySql 3.23.56。
●您的 phpBB2 版本:phpBB 2.0.6。
剛剛發現到一個現象,竹貓這邊也是,舉例:
測試下載
如果檔名中間有空白字元,那麼 URL BBCode 就會失效。
這個問題在我的 2.0.6 上也出現了,有什麼方法可以解決嗎??
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
Mac 寫:而且,不留空白應該才是較正確的命名方法,通常都會加上 "_" 或 "-" 在字與字的中間
是沒錯啦,檔案名稱不留空白才是較正確的命名方法。
問題是別人的網站上面放的檔案喜歡用空白字元,我們要連結的話就只能接受了。
至於將空白字元改為 %20 才能連結,並不是每一位 USER 都知道要這麼作....
而且我發現一件奇怪的事情, 2.0.6 不行,但是 2.0.3 可以??
我在我另一個 2.0.3 的論壇上測試,請看:
http://chage-aska.com/phpbb/viewtopic.php?t=821
我在這一篇文章打的內容就是 測試下載 ,
檔案名稱中間有空白字元,在不修改為 %20 的情況下,這個 URL 語法仍然生效,這才是我感到納悶的....
剛剛比對一下 2.0.3 和 2.0.6 的 bbcode.php ,URL 的部份的確有很多地方不同。
只是有一點想不通,為何 2.0.3 的 URL BBCode 允許檔案名稱有空白字元,
這樣的設計在 2.0.6 卻被拿掉了,是不是有什麼安全上的考量??
這是 2.0.3 的 bbcode.php (和 URL 有關的部份):
代碼: 選擇全部
// We do URLs in several different ways..
$bbcode_tpl['url1'] = str_replace('{URL}', '\\\1\\\2', $bbcode_tpl['url']);
$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\\1\\\2', $bbcode_tpl['url1']);
$bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\\1', $bbcode_tpl['url2']);
$bbcode_tpl['url3'] = str_replace('{URL}', '\\\1\\\2', $bbcode_tpl['url']);
$bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\\\3', $bbcode_tpl['url3']);
$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\\2', $bbcode_tpl['url4']);
// [url]xxxx://www.phpbb.com[/url] code..
// 此行修正:可包含中文字的超連結 modification by alang
$patterns[2] = "#\[url\]([a-z]+?://){1}(.*?)\[/url\]#si";
$replacements[2] = $bbcode_tpl['url1'];
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
// 此行修正:可包含中文字的超連結 modification by alang
$patterns[3] = "#\[url\](.*?)\[/url\]#si";
$replacements[3] = $bbcode_tpl['url2'];
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
// 此行修正:可包含中文字的超連結 modification by alang
$patterns[4] = "#\[url=([a-z]+?://){1}(.*?)\](.*?)\[/url\]#si";
$replacements[4] = $bbcode_tpl['url3'];
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
// 此行修正:可包含中文字的超連結 modification by alang
$patterns[5] = "#\[url=(.*?)\](.*?)\[/url\]#si";
$replacements[5] = $bbcode_tpl['url4'];代碼: 選擇全部
// We do URLs in several different ways..
$bbcode_tpl['url1'] = str_replace('{URL}', '\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\\1', $bbcode_tpl['url1']);
$bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\\1', $bbcode_tpl['url2']);
$bbcode_tpl['url3'] = str_replace('{URL}', '\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\\2', $bbcode_tpl['url3']);
$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\\1', $bbcode_tpl['url']);
$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\\3', $bbcode_tpl['url4']);
// matches a [url]xxxx://www.phpbb.com[/url] code..
$patterns[] = "#\[url\]([\w]+?://[^ "
\t<]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.[^ "
\t<]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url2'];
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://[^ "
\t<]*?)\](.*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url3'];
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[^ "
\t<]*?)\](.*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url4'];有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
最好使用 phpBB 2.0.6 的 BBcode 寫法,防止產生安全漏洞
Vulnerability in BBCode - serious
還有,最好別因為要讓會員可以使用有空白的檔名,而修改 BBcode 的抓名代碼
~Mac
Vulnerability in BBCode - serious
還有,最好別因為要讓會員可以使用有空白的檔名,而修改 BBcode 的抓名代碼
~Mac


