各功能概觀

本條目集中介紹 Pixmicat! 的一些功能。

2ch Trip

簡介

2ch Trip (2chトリップ) 是日本大型匿名討論站 2ch (2ちゃんねる) 的一個功能。主要在於匿名版的環境沒有註冊機制,其名稱非常容易被盜用,任何人都可以隨便冠上他人的名字發文,造成混淆與欺騙的行為。故 2ch 管理者西村博之氏就發展出一種特殊的反詐欺註記:藉由在 E-Mail 欄位輸入事先向管理者申請的暗碼,就可以在名稱後面顯示一顆星星 (如test ★),代表此人的身分是確實的。此一反詐欺機制被戲稱為帽子,最後變成英文的 Cap1

但開放讓為數眾多的使用者申請 Cap 實在太不實際,因此西村博之氏又發展了一套新的反詐欺註記:藉由在名稱欄位上附加井字號及暗碼 (例如 test#APPLE),讓使用者能夠輸入幾個暗碼生成特定文字,而這個生成的過程使用了一些加密運算和截斷,得出一個包含◆開頭連著10個英數字符號的字串,稱為一人用 Cap ,最後簡化稱為 Trip2

之後 Cap 就不再接受大眾申請而建議以 Trip 功能替代,而 Cap 就成為少數具有權限的使用者註記,現多為版務人員專用。

由暗碼要生成 Trip 十分容易,但若要從 Trip 反推回暗碼是相當困難的。主要在於生成時有截斷字串,損失了多數細節。但還是有一些計算程式可以以暴力計算來反推 Trip,但其運算花費時間相當可觀。

使用法

直接在名稱後面先加上井字號 (#) 再加上一組暗碼,此暗碼最好為英數字組成,最大可以接受長達八個字元的字串。如果直接將他人或自己的名稱加上轉換完成的 Trip 後直接輸入在名稱欄位,會自動變成把◆轉變成◇,藉以防止冒用情形。

範例

test#APPLE -> test◆am/upXHX12
test◆am/upXHX12 -> test◇am/upXHX12

Admin Cap

簡介

如上所述,最早發展出來的反詐欺機制是 Cap,後來發展出 Trip 後此註記就變為少數具有權限的使用者的證明。而 Pixmicat! 將此一機制引進,並將此功能限定成只有管理員才能使用的設計,稱為 Admin Cap。

原本 futaba.php 就有管理者發文的功能,使用此功能發文可以接受 HTML 標記藉此讓管理者強調一些資訊以發出公告。但是從外觀上沒有特別標記,看不出來是管理者,於是 1chan 修改的 Futallaby 加上了管理者的特殊顯示樣式:名稱顯示為紫色,而後 GazouBBS雙葉改 scribe FIXED 也將此樣式加入。

後來引進了 Admin Cap,因其可以隨時使用 (包括管理者發文功能做不到的回應) 而不必登入 (在 E-Mail 輸入暗碼即可) 的方便性,管理者發文功能就沒什麼意思。 於是就取消了管理者發文功能,另加強 Admin Cap 的功能:使用後可以接受 HTML 標記,也不受內文字數限制,顯示樣式的顏色亦不侷限於紫色可隨喜好更改,名稱後顯示的星星 ★ 也可以隨喜好更換。

使用法

此一機制為管理者所獨有,其他使用者無此功能。請先在 config.php 設定檔的 管理員キャップ(Cap)設定 完成修改。

<?php
// 管理員キャップ(Cap)設定 (啟用條件:開啟使用;名稱輸入識別名稱,E-mail輸入#[啟動密碼])
define("CAP_ENABLE", 1); // 是否使用管理員キャップ (使用:1 不使用:0)
define("CAP_NAME", 'futaba'); // 管理員キャップ識別名稱
define("CAP_PASS", 'futaba'); // 管理員キャップ啟動密碼 (在E-mail一欄輸入#[啟動密碼])
define("CAP_SUFFIX", ''); // 管理員キャップ後綴字元 (請務必有★以便程式防止偽造,或可自行修改程式的防偽造部份)
define("CAP_ISHTML", 1); // 管理員キャップ啟動後內文是否接受HTML標籤 (是:1 否:0)
?>

爾後要使用時直接在名稱欄輸入 管理員キャップ識別名稱 (可以附加使用 Trip,程式只辨認名稱), E-Mail 欄輸入 #暗碼 (可附加sage) 即可使用。

範例

名稱: futaba#APPLE
E-Mail: sage#futaba

顯示結果: futaba◆am/upXHX12 ★

sage 不推文機制

簡介

sage3 不推文機制也是從 2ch 來的,由 ふたば☆ちゃんねる 將原有的 GazouBBS 加上這個功能。此功能可以讓討論串被回應後不會往上推至第一個位置,造成洗版或刷舊聞等情形。

此外管理員也可以設定討論串推文上限,超過設定的回應數後即會強制進入 sage 模式。

此外有些貼圖程式有設計 age 這個相反機制,可以將文強制往上推。但是考慮到被濫用的問題, Pixmicat! 並未將其列為標準功能。

使用法

在 E-Mail 欄打入 sage 字樣即可。可以搭配原有的 E-Mail 及 Admin Cap 使用。

範例

E-Mail: sage
E-Mail: sage rab.oof|oof#rab.oof|oof
E-Mail: sage#futaba rab.oof|oof#rab.oof|oof

引用瀏覽系統

簡介

在討論串式的討論版中,時常引用到其他編號的文章 (ex: >>No.3886)。如果只是幾個還好,規模大起來之後很容易找不到文章作者引用的文章內文,而造成理解上的差異及不便。有鑑於此 4chan 將 1chan 的 Futallaby 修改後加上了引用系統,按下連結後可以快速找到引用編號的文章並自動強調,十分方便。而後由 RT 將此機制引入至祭典版中。

後續由 scribe 將此一機制引入至 Pixmicat! Log 版和 MySQL 版,而且作了強化。如果引用的編號文章在目前的頁面找的到則不進入回應模式,直接轉移並強調;如果編號文章在討論串內被隱藏,則會自動轉移至編號文章所在的頁面並強調。

使用法

  1. 直接在文章內文利用>>來引用文章編號 (注意到需要遵守特定格式,例如>和數字間不能有空白)
  2. 在瀏覽文章或回應時按下文章的編號 No.XXXX 來自動引用編號文章

例外 (連結不會自動生成的情況)

  1. 引用討論串首篇。這是因為回應基本上就是針對首篇,故再引用它是沒什麼意義的。 PIO 版應使用者習慣要求改掉了,現在也可以引用首篇自動生成連結
  2. 引用此討論串外的其他編號。既然是不同串關聯性就不是那麼大,如果真要引用請在同一串下回應。
  3. 討論串首篇使用編號引用。首篇總不能未卜先知先引用回應吧?

範例

>>No.3886
>3886
>No.3886
>3886

以上都是正確可供系統自動變換的格式,No.可加可不加。

附加圖檔容量限制

簡介

附加圖檔容量限制是從 sogetsu 君所釋出的 imgboard.php 中移植而來的功能。主要因為免費空間限制空間大小的關係,利用此一容量限制可以有效控制檔案總容量而不會使其任意肆掠空間大小。而限制檔案總容量後連帶也可以限制對外流量。

此一功能可以由管理者自由設定,甚至將其限制關閉。

ID 辨識機能

簡介

ID 辨識機能一樣是 2ch 的功能,由 ふたば☆ちゃんねる 將原有的 GazouBBS 加上。

類似於 Trip 可以辨別使用者的一種機制。在時間欄旁時常可以見到:

無題 Name 名無し 06/10/12(木)18:24 ID:lcjOYsdM No.4844

原理是利用當天日期和使用者 IP 位置加上 Salt Key 所運算的一組共八字元的暗號。只要使用者沒有更改 IP,理論上此一 ID 一天內都是一樣的值。若版面間設定的 Salt Key 亦相同 (通常是如此),當天不管到哪個版面發文,其 ID 仍然不變。據此可以簡單的判斷發文者是否為同一人。而計算的方法是完全對外公開的,安全性經的起考驗。

<?php
define('TIME_ZONE', 8); // UTC+8
 
$TODAY = gmdate('Ymd', time() + TIME_ZONE * 3600); // 當天日期
$IP = '127.0.0.1'; // 使用者IP
$SEED = '^trdcu%d'; // Salt Key
 
$ID = substr(crypt(md5($IP.$SEED.$TODAY), 'id'), -8); // ID
?>

由於經過了MD5單向雜湊、單向加密函數跟字串截斷,要直接從已經損失細節的八位ID還原成IP是不可能的,除非暴力運算窮舉破解。

此功能由管理者決定是否啟用。有些版面是強制啟用;有的則是不啟用;有的是輸入 E-Mail 後就不顯示 ID。

靜態頁面快取及回應快取

簡介

靜態頁面快取由 ふたば☆ちゃんねる 的 futaba.php 加入。主要在於使用者眾多的情況下,如果每個人看同樣的一頁內容都要重新生成一次,那會十分浪費且沒效率。在讀取一定比寫入來的頻繁的條件下,將頁面內容存成靜態 HTML 頁面,這樣其他使用者就可以直接觀看,伺服器端也會比較輕鬆。

回應快取則是由 Pixmicat!-PIO 版才加入,有別於 siokara 等版本直接產生回應頁 HTML 檔案,使用者瀏覽回應時程式會自動將回應頁面另存成暫存檔案。如果下一位使用者瀏覽時程式發現快取未過期則會直接使用快取內容輸出,以加快速度及節省CPU。雖然開啟回應快取可以有效降低負擔,但是由於頁面是被動式的更新,有可能會發生快取尚未更新的問題,這時候可以以瀏覽器的 Ctrl + F5 功能來強制更新快取。

參見

除非特別註明,本頁內容採用以下授權方式: Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.