node.js 在服务器端避免重复提交有没有什么好办法吗

node.js 在服务器端避免重复提交有没有什么好办法吗,第1张

在客户端那边去做限制,在最后一个请求没响应回来之前不能发起另外的请求。

a、提交事件触发后, 禁用控件,不让客户提交

b、设置一变量作为标识,如果是0就接受提交,如果是1就不接受. 每次提交的时候设为1,服务端响应之后设为0

服务端,

1在数据库层面防止重复数据写入

2使用 RateLimit 定义规定时间内同一 *** 作不能超过几次,

3采用队列写入

4每次提交都需要申请一个 token ,每个 token 只能用一次

防止网页刷新导致数据重复提交,可以在表单中添加Token令牌机制,这即保证了安全性(防CSRF攻击),又能够验证重复提交,每次生成表单页面时,会生成一个Token,在每次提交数据时,都要求检查Token,通过token检验合法的请求,可以多去看看实战教程。

你在提交数据的时候,可以先用下面的其中任何一个函数去清除一下JS,然后在提交:

//清除JS

function clearJS(formdata) {

if(formdata==null || formdata=='') {return ""}

var reg = new RegExp("<scrip.*?script>", "ig")

return formdata.replace(reg, ",")

}

//不清除JS,只是注释掉

function annotateHTML(formdata) {

if(formdata==null || formdata=='') {return ""}

var reg = new RegExp("<", "ig")

var reg2 = new RegExp(">", "ig")

return formdata.replace(reg, ">").replace(reg2, "<")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6821222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存