feat(link): 連結一律寫成 [文字](絕對網址),寫入前先驗證連得到
取消 [[頁名]] 與 [[顯示文字|頁名]] 兩種同 wiki 寫法,不再分「同存取庫」與 「跨存取庫」兩條規則。那種寫法只在自己那個 wiki 內解析,寫錯不報錯,畫面上 看起來像普通文字或死連結,巡不到也修不了。 連結寫進頁面前先過 jsc-gitea 的 link-check.sh,結束碼 0 才寫。驗證一律走 API, 不看網頁狀態碼:私有存取庫的網頁網址對未登入請求一律回 404,拿狀態碼判會把 好連結判成壞的。認證失敗回 7,與死連結的 1 分開,免得金鑰一過期就把還在的頁 整批判死。
This commit is contained in:
+4
-1
@@ -438,11 +438,14 @@ print_allow_rules() {
|
||||
# 不寫心跳,外面只看得到心跳過期,看不出是權限擋的。
|
||||
# 目錄頁那一列改由 wiki-contents.sh 寫,所以它也要有自己這一條:巡檢那一輪會直接叫它,
|
||||
# 少了規則就會停在權限詢問,而那一輪沒有人可以按同意。
|
||||
# link-check.sh 同理:兩次寫入前都要先驗連結,少了這一條,驗證那一步就停在權限詢問,那一輪
|
||||
# 什麼都寫不成。它排在寫入之前,所以擋住它等於整輪報廢。
|
||||
for _s in "$CURRENT/jsc-assist/tools/schedule.sh" \
|
||||
"$CURRENT/jsc-assist/tools/patrol.sh" \
|
||||
"$CURRENT/jsc-hooks/hooks/heartbeat.sh" \
|
||||
"$CURRENT/jsc-gitea/tools/gitea.sh" \
|
||||
"$CURRENT/jsc-gitea/tools/wiki-contents.sh"; do
|
||||
"$CURRENT/jsc-gitea/tools/wiki-contents.sh" \
|
||||
"$CURRENT/jsc-gitea/tools/link-check.sh"; do
|
||||
printf 'allow_rule=Bash(%s:*)\n' "$_s"
|
||||
printf 'allow_rule=Bash(sh %s:*)\n' "$_s"
|
||||
printf 'allow_rule=Bash(bash %s:*)\n' "$_s"
|
||||
|
||||
Reference in New Issue
Block a user