Before you make the config, please upgrade your NexT version to v6.0.6 or greater.
Please note the difference between site config file and theme config file
1 to enter the console:
1 to create an app:
1 in the pop up window(eg. "test"), then choose 2, which means developer's plan, and then click 3 to create the app:
1 (app name) to enter the app manage page:
1 to create a class for counter:
Counter in the pop up window in 1, check 2, then click 3:
1 to enter the app setting, then click 2:
Paste App ID and App Key to theme config file _config.yml like this:
yml
leancloud_visitors:
enable: true
app_id: # <your app id>
app_key: # <your app key>
# Required for apps from CN region
server_url: # <your server url>
# Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
security: true
Set domain whitelist: Click 1, then type your domain into 2 (protocol, domain and port should be exactly the same):

1 -> 2 -> 3 by order
1:
1 to choose type Hook, then choosebeforeUpdate in 2, choose Counter in 3. Paste code below into 4, then click 5 to save it:
javascript
var query = new AV.Query("Counter");
if (request.object.updatedKeys.includes('time')) {
return query.get(request.object.id).then(function (obj) {
if (obj.get("time") > request.object.get("time")) {
throw new AV.Cloud.Error('Invalid update!');
}
return request.object.save();
});
}
1 to deploy after the message in the red rect shows up:
1 in the pop up:
1 to close the pop up window after the message in the red rect shows up:
Open theme config file _config.yml, set leancloud_visitors: security to true:
yml
leancloud_visitors:
enable: true
app_id: # <your app id>
app_key: # <your app key>
# Required for apps from CN region
server_url: # <your server url>
# Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
security: true
Open cmd then switch to root path of site, type commands to install hexo-leancloud-counter-security plugin:
npm install hexo-leancloud-counter-security
Open site config file _config.yml, add those config:
yml
leancloud_counter_security:
enable_sync: true
app_id: <your app id>
app_key: <your app key>
username:
password:
Type command:
hexo lc-counter register <username> <password>
or
hexo lc-counter r <username> <password>
Change <username> and <password> to your own username and password (no need to be the same as leancloud account). They will be used in the hexo deploying.
Open site config file _config.yml, change <username> and <password>to those you set above:
yml
leancloud_counter_security:
enable_sync: true
app_id: <your app id>
app_key: <your app key>
username: <your username> # will be asked while deploying if be left blank
password: <your password> # recommend to leave it blank for security, will be asked while deploying if be left blank
Add the deployer in the deploy of site config file _config.yml:
```yml
deploy:
Return to the LeanCloud console. Click 1 -> 2, check if there is a record added in the _User (the img below is using username "admin" for example):

1 -> 2 -> 3 by order:
1 (add_fields), then choose 2: Do as below "create" setting(choose the user you create):
1 (create), then choose 2, type the username in 3, then click 4 -> 5:
Now your page should be similar to this img after finishing the step.

1 (delete), then choose 2:
Now the bug is fixed.
See detailed version here: https://leaferx.online/2018/03/16/lc-security-en/
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.