大體步驟分為:
十多年的習(xí)水網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整習(xí)水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“習(xí)水網(wǎng)站設(shè)計(jì)”,“習(xí)水網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。1.通過java 生成隨機(jī)數(shù)放在http 的header 里面
String token = IdentityUtil.uuid32();
getRequest().getSession().setAttribute("server_token", token);
2.把生成token 放到隱藏域中,
String html = "<input type=\"hidden\" id=\"puff_beetl_client_token\" name=\"puff_beetl_client_token\" autocomplete=\"off\" value=\"" + token + "\" />";
try {
ctx.byteWriter.writeString(html);
} catch (IOException e) {
e.printStackTrace();
}
輸出到頁面;
3.寫個(gè)攔截器,頁面?zhèn)鬟^來的token與java生成token進(jìn)行匹配;
public void intercept(DispatcherExecutor executor) {
String server_token = PuffContext.removeSessionAttr("server_token");
String client_token = PuffContext.getRequest().getHeader("Puff-ClientToken");
if (StringUtil.empty(server_token) || StringUtil.empty(client_token) || !server_token.equals(client_token)) {
if (PuffContext.ajax()) {
RetMsg msg = RetMsg.error(RetCode.ILLEGAL_SUBMIT, "非法表單提交申請(qǐng)!");
PuffContext.getResponse().setHeader("illegal_submit", "yes");
executor.setResult(ViewFactory.json(msg));
} else {
throw new IllegalArgumentException("非法表單提交申請(qǐng)!");
}
} else {
executor.execute();
}
//如果匹配了。重新生成token到頁面,防止重復(fù)提交
String token = IdentityUtil.uuid32();
PuffContext.setSessionAttribute("server_token", token);
PuffContext.getResponse().setHeader("server_token", token);
}
4.頁面
$.ajax({
url:"${ctxPath}/xx",
data:$('#form').serialize(),
type:"POST",
datatype:"json",
beforeSend: function(request) {
//把token 放到http header 中
request.setRequestHeader("Puff-ClientToken",$("#puff_beetl_client_token").val());
},
success:function(data){
if(data.code=="403"){
layer.close(index);
Popbox.sureWithBtn(data.msg);
}else{
var msg=eval("("+data.msg+")");
var code=msg.code;
if(code==success){
layer.close(index);
window.location.href="${ctxPath}/success;
}else{
flag=false;
layer.close(index);
Popbox.sureWithBtn(msg.message);
}
}
},
complete:function(request){
if(!flag){ //提交成功,就不改變http頭部header,就是當(dāng)失敗才重新把token放到http header中
$("#puff_beetl_client_token").val(request.getResponseHeader("server_token"));
}
},
error:function(){
layer.close(index);
}});
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱:form表單提交,防止重復(fù)提交,加token-創(chuàng)新互聯(lián)
本文來源:http://jinyejixie.com/article16/dsgogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、App開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容