Re: [偷可] 罰單與罰金

作者: likebike (小小摺)   2018-02-17 14:43:56
推 likebike: QQ 那應該是我搞錯了 過幾天我在試試看@@01/27 00:02
雖然已經過了有點久,但剛剛才把測試結果完成QQ
本篇超級U文請安心觀看(?),
只是這篇只針對我已經完成確定的部分說明,其他就...當推測就好,有錯請告知,
然後為了增加公信力會把原始碼也放上(?),沒興趣就跳過那部分就好.
<簡易結論版>
罰單的費用
罰單的費用是直接用你收過罰單的次數去計算,
依照次數*1000P,
如果你直接被一次開出3張罰單,
那麼你每一張罰單就是3000P,
反之,你如果是被開完罰單繳清後再被罰,
那麼第n次收到罰單繳的費用就是1000n.
如果沒錢則沒辦法繳交.
繳罰單的時間
如果真的不幸被開了罰單,
那麼反省的時間也是直接用你收過罰單的次數去計算,
依照次數*3天,
意即,如果你直接被一次開出3張罰單,
那麼你繳罰單的日子就是9天,
同時如果你在反省的時間又被開罰單,
那麼你的反省時間會被加上罰單次數後重新計算,
拿上面的例子,如果在9天反省期內又被開了一張罰單,
那麼你繳罰單就是要反省12天.
被開罰單的權限
一但被開罰單,權限上會有以下的變動:
1.看板限制發文,但在罰單的討論相關板可以發文(發文應該是包含推文).
2.無法投票.
3.限制發文量(為避免違法使用者大量對申訴板轉文,限定每次發文量。).
4.無法進入多人聊天室(T>C).
5.無法使用^U進入使用者選單.
6.會被標記違規,名片會出現
此人違規 尚未繳交罰單 (已累計 n 次).
7.繳罰單成功的當下會被退出系統.
以下是不確定(我解讀不出來QQ)的權限
8.水球功能是否被關閉?
(用站長權限丟水球收的到,也可以回丟)
9.是否能進入信箱?
我的測試還是可以,也可以寄出信件,但現在的ptt好像是不行的(?)
這點很可愛,連寫程式的站長(?)都有寫出"但這樣麻煩的是他們就搞不懂發生什麼事"
10.其他我看不懂的原始碼(??
10-1.是否會被強制現身?
<完整版>
這個部分是我用自己架在虛擬器的BBS站做出的結果,
因為沒有很用心去架(?),加上沒有即時更新,
可能得到的結果只適用舊版BBS系統,所以各節會放上現在運行的原始碼.
給有興趣的人參考,如果有需要測試什麼的我也可以盡量幫忙\( ̄▽ ̄#)﹏﹏
1.罰單費用部分
罰單部分我總共是放了3張的罰單,所以時間上這麼晚才出現(加上我平常沒有開
【 繳罰單中心 】
這是你第 1 次違法 必須繳出 1000 Ptt幣
你是否確定以後不會再犯了?
確定嗎?[y/N]:
【 繳罰單中心 】
這是你第 2 次違法 必須繳出 2000 Ptt幣
你是否確定以後不會再犯了?
確定嗎?[y/N]:
然後...如果按下N的話...
不想付嗎? 還是不知道要按 y ?
請養成看清楚系統訊息的好習慣。
會被系統嗆喔\( ̄▽ ̄#)﹏﹏
如果惡意按N超過10次的話,就要重新反省.
第3次因為我手動開錯罰單,所以就順便試試看沒錢的話系統會說什麼吧XD"
這是你第 3 次違反本站法規必須繳出 3000 Ptt幣;但你目前只有 0 ,數量不足!!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 請按任意鍵繼續 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
所以沒錢不要想說就可以不要繳罰單,還是會被系統嗆的喔(?
然後..→ civilian: 與其繳罰單不如發給我啊
這一點確定是可行的!!
被開罰單還是可以把錢轉走喔XDD
然後當你繳完罰單的當下,你會被系統強制踢出.
罰單反省期沒什麼好測試的,就反省期被開會重新計算而已,請自行參閱原始碼.
罰單系統原始碼的部分:
https://github.com/ptt/pttbbs/blob/c02eea20b9f9164d6abc7d78a1911768debe188d
/mbbsd/bbs.c#L255
第255行~第326行:
/* Heat CharlieL */
int
save_violatelaw(void)
{
char buf[128], ok[3];
int day;
setutmpmode(VIOLATELAW);
clear();
vs_hdr("繳罰單中心");
// XXX reload lots of stuff here?
pwcuReload();
if (!(cuser.userlevel & PERM_VIOLATELAW)) {
vmsg("你沒有被開罰單~~");
return 0;
}
day = cuser.vl_count*3 - (now - cuser.timeviolatelaw)/DAY_SECONDS;
if (day > 0) {
vmsgf("依照違規次數(%d), 你還需要反省 %d 天才能繳罰單",
cuser.vl_count, day);
return 0;
}
reload_money();
if (cuser.money < (int)cuser.vl_count * 1000) {
snprintf(buf, sizeof(buf),
ANSI_COLOR(1;31) "這是你第 %d 次違反本站法規"
"必須繳出 %d " MONEYNAME ";但你目前只有 %d ,數量不足!!"
ANSI_RESET, (int)cuser.vl_count, (int)cuser.vl_count * 1000,
cuser.money);
mvouts(22, 0, buf);
pressanykey();
return 0;
}
move(5, 0);
prints("這是你第 %d 次違法 必須繳出 %d " MONEYNAME "\n\n",
cuser.vl_count, cuser.vl_count * 1000);
outs(ANSI_COLOR(1;37) "你是否確定以後不會再犯了?" ANSI_RESET "\n");
if (!getdata(10, 0, "確定嗎?[y/N]:", ok, sizeof(ok), LCECHO) ||
ok[0] != 'y')
{
move(15, 0);
outs(ANSI_COLOR(1;31) "不想付嗎? 還是不知道要按 y ?\n"
"請養成看清楚系統訊息的好習慣。\n" ANSI_RESET);
pressanykey();
return 0;
}
//Ptt:check one more time
reload_money();
if (cuser.money < (int)cuser.vl_count * 1000)
{
log_filef("log/violation", LOG_CREAT,
"%s %s pay-violation error: race-conditionn hack?\n",
Cdate(&now), cuser.userid);
vmsg(MONEYNAME "怎麼忽然不夠了? 試圖欺騙系統被查到將砍帳號!");
return 0;
}
pay(1000 * (int)cuser.vl_count, "繳付罰單 (#%d)", cuser.vl_count);
pwcuSaveViolateLaw();
log_filef("log/violation", LOG_CREAT,
"%s %s pay-violation: $%d complete.\n",
Cdate(&now), cuser.userid, (int)cuser.vl_count*1000);
vmsg("罰單已付,請重新登入。");
u_exit("save_violate");
exit(0);
return 0;
}
好啦偷偷說其實按10次按N會被要求重新反省是騙人的XD(?
2.被開罰單的權限變動
2-1. 發文限制,僅能在相關看板發文
這點還蠻好理解的,總之就不是全站水桶的概念,
而是只能在一些看板發文,不然怎麼申訴發單嘛XDD
如果是其他看板,就會出現這一部份:
d - 開放 自刪文章 發文與推文限制:
r - 開放 推薦文章 *罰單未繳
s - 開放 噓文
f - 開放 快速連推文章 名單編輯與其它: (需板主權限)
i - 推文時 不會 記錄來源 IP w)設定水桶 v)可見會員名單
a - 推文時 不用對齊 開頭 m)舉辦投票 o)投票名單
k - 板主 無法 刪除部份違規文字 c)文章類別 n)發文注意事項
x - 轉錄文章 不會 自動記錄,且 不需 發文權限 p)進板畫面
j - 未 設為冷靜模式
8 - 允許 未滿十八歲進入
★ 您在此看板無發文或推文權限,詳細原因請參考上面顯示為紅色或有 * 的項目。
原始碼:
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/cache.c#L246
第246~第271行(有一併寫出未完成認證的帳號也是如此)
if (!HasUserPerm(PERM_POST))
return (PERM_POST == PERM_LOGINOK) ? "未完成認證" :
"無發文權限";
/* 秘密看板特別處理 */
if (bp->brdattr & BRD_HIDE)
return NULL;
else if (bp->brdattr & BRD_RESTRICTEDPOST &&
!is_hidden_board_friend(i, usernum))
return "看板限制發文";
if (HasUserPerm(PERM_VIOLATELAW))
{
// 在罰單的討論相關板可以發文
if (bp->level & PERM_VIOLATELAW)
return NULL;
else
return "罰單未繳";
}
if (!(bp->level & ~PERM_POST))
return NULL;
if (!HasUserPerm(bp->level & ~PERM_POST))
return "未達看板要求權限";
return NULL;
}
2-2. 無法投票
也是簡單解釋,如果按大V進入投票系統,會出現:
◆ 罰單未繳清,無法投票。 [按任意鍵繼續]
原始碼:
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/vote.c#L980
第980~995行(一樣有說明未通過註冊的不能投,其他投票部分有興趣自己再看就好)
static const char *
voteperm_msg(const char *bname)
{
const char *msg;
if (!HasBasicUserPerm(PERM_LOGINOK))
return "對不起! 您未完成註冊程序, 還沒有投票權喔!";
if (HasUserPerm(PERM_VIOLATELAW))
return "罰單未繳清,無法投票。";
if ((msg = banned_msg(bname)) != NULL)
return msg;
return NULL;
}
2-3 為避免違法使用者大量對申訴板轉文,限定每次發文量。
這個我真的不知道是說什麼,也沒有試過,就直接放原始碼了.
https://github.com/ptt/pttbbs/blob/c02eea20b9f9164d6abc7d78a1911768debe188d
/mbbsd/mail.c#L1994
第1994~2000行
// XXX TODO 為避免違法使用者大量對申訴板轉文,限定每次發文量。
if (HasUserPerm(PERM_VIOLATELAW))
{
static int violatecp = 0;
if (violatecp++ >= MAX_CROSSNUM)
return DONOTHING;
}
應該是跟轉錄部分有關係吧(?
2-4,2-5,2-10-1 一併處理,被開罰單能不能進入聊天室...強制現身
目前僅知如果被開罰單的使用者,是不能進入聊天室的.
◆ 請先繳罰單才能使用聊天室! [按任意鍵繼續]
原始碼"應該"是分做兩段,不過我就不貼這部分了.
裡面有說道站長隱身,回應空氣等水球功能
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/talk.c#L36
第36行開始;第2050行開始
2-6,2-7,2-9 跟其他我就不多做解釋了,在站上還蠻常看到的,
如果有需要就自己去把原始碼拉出來看囉\( ̄▽ ̄#)﹏﹏
以上大概是這次的測試結果,
如果有跟事實不符的再麻煩告知囉.
這篇應該屬於U文吧XD
感謝大家的收看,不知道稿費有多少!!
如果有什麼問題可以提出,我會盡量試試看的QQ
※ 引述《rrr518 (廢文族の理沙)》之銘言:
: ※ 引述《mono5566 ( )》之銘言:
: : 那麼,第一次收到罰單1張,第二次收到罰單3張,
: : 這樣的話會罰多少? 有人有這樣的經驗嗎@@?
: 我來說說ㄅ
: 我總共收到3次罰單
: 第一次 1000P
: 第二次 2000P
: 再來就是關鍵惹
: 一次收到兩張
: 他叫我給4000P
: 所以一次收兩張會省錢!(握拳
: 阿不過因為我很不爽跑去申訴
: 就撤銷惹
: 不過也是經驗啦
: 尼ㄉ問題4這樣子ㄇ
作者: likebike (小小摺)   2017-01-27 00:02:00
QQ 那應該是我搞錯了 過幾天我在試試看@@
作者: rrr518 (理沙)   2018-02-17 14:47:00
那個試圖轉出去的在演算法銀行系統裡面滿重要的觀念XD
作者: likebike (小小摺)   2018-02-17 14:48:00
怎麼忽然不夠了? 試圖欺騙系統被查到將砍帳號!是指這個嗎(?)XD
作者: bbbruce (布魯斯)   2018-02-17 14:51:00
小摺是學資工的歐?
作者: likebike (小小摺)   2018-02-17 14:53:00
當然不是,如果是我就架好站自己玩了\( ̄▽ ̄#)﹏﹏
作者: bbbruce (布魯斯)   2018-02-17 14:54:00
我都看不懂原始碼在寫什麼 qq
作者: rrr518 (理沙)   2018-02-17 14:55:00
對簡單來說就是運算前要重檢查如果剛好同時兩邊領就有另一個演算法
作者: lpbrother (趴趴153豆瓣LP哥)   2018-02-17 15:11:00
好專業,3r是被罰了幾次?
作者: kiss745745 (咚)   2018-02-17 15:27:00
小摺好膩害
作者: mono5566 (曼娜)   2018-02-17 17:19:00
讚讚 收精華
作者: likebike (小小摺)   2018-02-17 18:32:00
我也看不懂 所以只挑中文看阿(??

Links booklink

Contact Us: admin [ a t ] ucptt.com