generator-wxnode-boilerplate
Version:
Yeoman generator for wxnode boilerplate
22 lines (18 loc) • 729 B
text/typescript
/**
* get remote ip from context
* the real ip is set to the `Server_Render_Ip` http header when the request is fetch from server(server render)
* @param {context} ctx
* @returns {string}
*/
import {IRouterContext} from 'koa-router';
export function getIp(ctx: IRouterContext) {
let ip = ctx.request.headers.server_render_ip || ctx.request.headers['x-forwarded-for'] || ctx.ip;
if (ip.substr(0, 7) === '::ffff:') {
ip = ip.substr(7);
}
return ip;
}
export function isTencentSecureTeam(ctx: IRouterContext) {
const ua = ctx.request.headers['user-agent'] || '';
return ua.indexOf('Tencent_Security_Team') !== -1 || ua.indexOf('Tst_SsrF') !== -1 || ctx.request.headers['Tencent-LeakScan'];
}