26 lines
581 B
JavaScript
26 lines
581 B
JavaScript
|
// @ts-check
|
||
|
/**
|
||
|
* @typedef {import('../types') }
|
||
|
*/
|
||
|
|
||
|
var utils = require("../lib/utils")
|
||
|
|
||
|
;(function () {
|
||
|
if (utils.isPublicToken(context)) {
|
||
|
// js captcha
|
||
|
var checksum = context.request().query("cs")
|
||
|
var email = context.data.email
|
||
|
if (!email || (email.length * 1000).toString(16) + "x" !== checksum) {
|
||
|
throw {
|
||
|
status: 403,
|
||
|
error: "forbidden data",
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/** @type {import('../types').HookResponse} */
|
||
|
// @ts-ignore
|
||
|
var response = null
|
||
|
return response
|
||
|
})()
|