浏览代码

리캡차 버그 수정

https://github.com/openNAMU/openNAMU/issues/2565
잉여개발기 (SPDV) 9 月之前
父节点
当前提交
9fa7c0b651
共有 2 个文件被更改,包括 10 次插入8 次删除
  1. 9 7
      route/tool/func.py
  2. 1 1
      version.json

+ 9 - 7
route/tool/func.py

@@ -1586,32 +1586,34 @@ async def captcha_get(conn):
         if recaptcha and recaptcha[0][0] != '' and sec_re and sec_re[0][0] != '':
             if not rec_ver or rec_ver[0][0] == '':
                 data += '' + \
-                    '<script src="https://www.google.com/recaptcha/api.js" async defer></script>' + \
+                    '<script defer src="https://www.google.com/recaptcha/api.js"></script>' + \
                     '<div class="g-recaptcha" data-sitekey="' + recaptcha[0][0] + '"></div>' + \
                     '<hr class="main_hr">' + \
                 ''
             elif rec_ver[0][0] == 'v3':
                 data += '' + \
-                    '<script src="https://www.google.com/recaptcha/api.js?render=' + recaptcha[0][0] + '"></script>' + \
+                    '<script defer src="https://www.google.com/recaptcha/api.js?render=' + recaptcha[0][0] + '"></script>' + \
                     '<input type="hidden" id="g-recaptcha" name="g-recaptcha">' + \
                     '<script type="text/javascript">' + \
-                        'grecaptcha.ready(function() {' + \
-                            'grecaptcha.execute(\'' + recaptcha[0][0] + '\', {action: \'homepage\'}).then(function(token) {' + \
-                                'document.getElementById(\'g-recaptcha\').value = token;' + \
+                        'document.addEventListener(\'DOMContentLoaded\', function () {' + \
+                            'grecaptcha.ready(function() {' + \
+                                'grecaptcha.execute(\'' + recaptcha[0][0] + '\', {action: \'homepage\'}).then(function(token) {' + \
+                                    'document.getElementById(\'g-recaptcha\').value = token;' + \
+                                '});' + \
                             '});' + \
                         '});' + \
                     '</script>' + \
                 ''
             elif rec_ver[0][0] == 'cf':
                 data += '' + \
-                    '<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?compat=recaptcha" async defer></script>' + \
+                    '<script defer src="https://challenges.cloudflare.com/turnstile/v0/api.js?compat=recaptcha"></script>' + \
                     '<div class="g-recaptcha" data-sitekey="' + recaptcha[0][0] + '"></div>' + \
                     '<hr class="main_hr">' + \
                 ''
             else:
                 # rec_ver[0][0] == 'h'
                 data += '''
-                    <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
+                    <script defer src="https://js.hcaptcha.com/1/api.js"></script>
                     <div class="h-captcha" data-sitekey="''' + recaptcha[0][0] + '''"></div>
                     <hr class="main_hr">
                 '''

+ 1 - 1
version.json

@@ -1,5 +1,5 @@
 {
-    "r_ver" : "v3.6.0-v25",
+    "r_ver" : "v3.6.0-v26",
     "c_ver" : "20250509",
     "s_ver" : "20240426",
     "bin_link" : "https://github.com/openNAMU/GopenNAMU/releases/download/v2025-05-09-v1/"