Просмотр исходного кода

Block user page searches when blocking setting is on

arvid-e 2 месяцев назад
Родитель
Сommit
fdd9809d9d
1 измененных файлов с 14 добавлено и 1 удалено
  1. 14 1
      apps/app/src/server/routes/search.ts

+ 14 - 1
apps/app/src/server/routes/search.ts

@@ -162,7 +162,20 @@ module.exports = (crowi: Crowi, app) => {
     // biome-ignore lint/suspicious/noImplicitAnyLet: ignore
     let delegatorName;
     try {
-      const query = decodeURIComponent(q);
+      let query = decodeURIComponent(q);
+
+      const disableUserPages = crowi.configManager.getConfig(
+        'security:disableUserPages',
+      );
+
+      if (disableUserPages) {
+        query = query.replace(/prefix:\/user/g, '');
+
+        if (!query.includes('-prefix:/user')) {
+          query = `${query.trim()} -prefix:/user`;
+        }
+      }
+
       const nqName = nq ?? decodeURIComponent(nq);
       [searchResult, delegatorName] = await searchService.searchKeyword(
         query,