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

reject requests with invalid email format

abichan99911111 1 год назад
Родитель
Сommit
55dff1ca9a
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      apps/app/src/server/routes/apiv3/forgot-password.js

+ 5 - 0
apps/app/src/server/routes/apiv3/forgot-password.js

@@ -62,11 +62,16 @@ module.exports = (crowi) => {
   }
 
   router.post('/', checkPassportStrategyMiddleware, addActivity, async(req, res) => {
+    const validEmailRegexp = new RegExp(/^[\w+\-.]+@[a-z\d\-.]+\.[a-z]+$/, 'i');
     const { email } = req.body;
     const locale = configManager.getConfig('crowi', 'app:globalLang');
     const appUrl = appService.getSiteUrl();
 
     try {
+      if (!validEmailRegexp.test(email.toString())) {
+        throw new Error('invalid email format.');
+      }
+
       const user = await User.findOne({ email });
 
       // when the user is not found or active