fix for SMS sending mass requests - adding IP checking
This commit is contained in:
parent
797b6eb2c6
commit
7e1b68be21
@ -18,11 +18,13 @@ export default async function handler(req, res)
|
|||||||
phone = phone.replace(/[^0-9.]/g, '');
|
phone = phone.replace(/[^0-9.]/g, '');
|
||||||
|
|
||||||
const key = md5(`sms_code_${ phone }`);
|
const key = md5(`sms_code_${ phone }`);
|
||||||
const key_block = md5(`phone_change_sms_block_${ phone }`);
|
const key_block_ip = md5(`phone_change_sms_block_ip_${ req.headers[ process.env.IP_HEADERS_PARAM ] }`);
|
||||||
|
const key_block_number = md5(`phone_change_sms_block_number_${ phone }`);
|
||||||
|
|
||||||
const existed_phone = await RedisClient.get(key_block);
|
const existed_phone_ip = await RedisClient.get(key_block_ip);
|
||||||
|
const existed_phone_number = await RedisClient.get(key_block_number);
|
||||||
|
|
||||||
if(existed_phone === null)
|
if(existed_phone_ip === null && existed_phone_number === null)
|
||||||
{
|
{
|
||||||
const response = await new Promise((resolve, reject) =>
|
const response = await new Promise((resolve, reject) =>
|
||||||
{
|
{
|
||||||
@ -52,7 +54,8 @@ export default async function handler(req, res)
|
|||||||
|
|
||||||
if(response.status === "success")
|
if(response.status === "success")
|
||||||
{
|
{
|
||||||
await RedisClient.set(key_block, key_block, 'EX', 60);
|
await RedisClient.set(key_block_ip, key_block_ip, 'EX', 60);
|
||||||
|
await RedisClient.set(key_block_number, key_block_number, 'EX', 60);
|
||||||
|
|
||||||
let code = ``;
|
let code = ``;
|
||||||
for(let i = 0; i < 6; i++) { code = `${ code }${ Math.floor(Math.random() * 10) }`; }
|
for(let i = 0; i < 6; i++) { code = `${ code }${ Math.floor(Math.random() * 10) }`; }
|
||||||
|
|||||||
@ -19,13 +19,16 @@ export default async function handler(req, res)
|
|||||||
phone = phone.replace(/[^0-9.]/g, '');
|
phone = phone.replace(/[^0-9.]/g, '');
|
||||||
|
|
||||||
const key = md5(`phone_change_sms_code_${ phone }`);
|
const key = md5(`phone_change_sms_code_${ phone }`);
|
||||||
const key_block = md5(`phone_change_sms_block_${ phone }`);
|
const key_block_ip = md5(`phone_change_sms_block_ip_${ req.headers[ process.env.IP_HEADERS_PARAM ] }`);
|
||||||
|
const key_block_number = md5(`phone_change_sms_block_number_${ phone }`);
|
||||||
|
|
||||||
const existed_phone = await RedisClient.get(key_block);
|
const existed_phone_ip = await RedisClient.get(key_block_ip);
|
||||||
|
const existed_phone_number = await RedisClient.get(key_block_number);
|
||||||
|
|
||||||
if(existed_phone === null)
|
if(existed_phone_ip === null && existed_phone_number === null)
|
||||||
{
|
{
|
||||||
await RedisClient.set(key_block, key_block, 'EX', 60);
|
await RedisClient.set(key_block_ip, key_block_ip, 'EX', 60);
|
||||||
|
await RedisClient.set(key_block_number, key_block_number, 'EX', 60);
|
||||||
|
|
||||||
let code = ``;
|
let code = ``;
|
||||||
for(let i = 0; i < 6; i++) { code = `${ code }${ Math.floor(Math.random() * 10) }`; }
|
for(let i = 0; i < 6; i++) { code = `${ code }${ Math.floor(Math.random() * 10) }`; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user