Help:创建账户

来自滚动的天空Wiki
Zes M Young讨论 | 贡献2022年6月27日 (一) 17:01的版本 →‎解决方法
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

创建账户(Create Account),即注册一个Miraheze账号。未登录且没有账户的用户可以点击右上角(不同皮肤显示的位置不同)的创建账号以进入创建账户的特殊页面。

关于验证码问题[编辑源代码]

创建账户需要完成人机身份验证,部分地区的用户可能无法正常加载验证码,导致无法创建账户。

原因[编辑源代码]

Miraheze会连接www.google.com以获取reCaptcha验证码,但是在非谷歌服务地区,该连接方式不可用。

此外,使用中国内地的IP地址连接时,返回的api.js会尝试加载www.gstatic.cn的JavaScript。而根据Content Security Policy,gstatic.cn不在白名单范围内,只有gstatic.com才行。

打开F12开发人员工具,会发现如下报错信息:

api.js?hl=qqx:1 Refused to load the script 'https://www.gstatic.cn/recaptcha/releases/……/recaptcha__zh_cn.js' because it violates the following Content Security Policy directive: …… 'unsafe-inline' 'unsafe-eval'". Note that 'script-src-elem' was not explicitly set, so 'default-src' is used as a fallback.

因为涉及向网站中加入一个<script>...</script>标签节点,而其加载的网页gstatic.cn不在CSP允许范围内,所以导致了错误。

解决方法[编辑源代码]

目前以下两项解决方案暂时均无法解决问题。请直接跳转至#账号注册申请段落。

重定向请求[编辑源代码]

在非谷歌服务地区,由于Google服务不提供使用,因此需要直接连接reCaptcha官方网站。

一种简单的方式,是下载Header Editor或Gooreplacer浏览器扩展。这里以Header Editor为例。安装Header Editor后,点击扩展图标然后点击“管理”,进入扩展程序控制界面,点击右下角的加号添加规则,规则中设置以下内容:


规则类型:重定向请求
匹配类型:正则表达式
匹配规则:^http(s?)://(?:www\.|recaptcha\.|)google\.com/recaptcha/(.*)
排除规则:(留空)
执行类型:常规
重定向至:https://www.recaptcha.net/recaptcha/$2

保存规则,并确保该规则以启用。

在新窗口打开点击 https://www.google.com/recaptcha/api.js 确保网页会重定向至www.recaptcha.net并能正常加载内容。

如果您无法安装浏览器插件,可以使用抓包工具Charles进行重定向请求。

修改gstatic链接[编辑源代码]

在新窗口中打开此链接,复制全部内容。

回到创建账户的页面,打开F12开发者工具,点击“控制台”(“Console”),在控制台中粘贴你复制的内容。(如果你使用的是移动设备,没有开发人员工具,可以把浏览器地址栏中的内容替换为javascript:,然后在后面粘贴你刚刚复制的内容。这种方法在部分浏览器可能不使用,请尝试更换浏览器。)

在你刚刚粘贴的内容中,找到www.gstatic.cn,改为www.gstatic.com,然后回车。

(您亦可使用Header Editor插件或抓包工具Charles修改响应体(其中Header Editor的修改响应体功能仅支持Firefox),使其直接加载gstatic.com。)

现在你应该可以进行人机身份验证了。

账号注册申请[编辑源代码]

如有需要,您可通过填写表单来让管理员帮助您注册账号。详见公告