一旦你创建了 meta 标签,你就可以使用 jQuery 之类的函数库将 token 自动地添加到所有的请求头中。这简单、方便的为你的应用的 AJAX 提供了 CSRF 保护:
//html表单<input id="a" name="a" type="text" />
<input id="b" name="b" type="text" />
//ajax 部分
$.ajax({
type:'POST',
cache:false,
url:"chuli.php",
dataType:"text",
data:{a:$('#a').val(),b:$('#b').val()},
})
//php chuli.php部分
cha($POST['a'],$POST['b'])
function cha($a,$b){
/*各种数据库连接代码*/
$sql=mysql_query("INSERT INTO fk VALUES ('$a','$b')")
}
ajax返回form表单 html js能执行的,可以利用纯js来提交:1、ajax返回如下form,用创建来模仿:
function post(url, params) {
var tempForm = document.createElement("form")
tempForm.action = url
tempForm.method = "post"
tempForm.style.display = "none"
for (var x in params) {
var opt = document.createElement("textarea")
opt.name = x
opt.value = params[x]
// alert(opt.name)
tempForm.appendChild(opt)
}
document.body.appendChild(tempForm)
tempForm.submit()
return tempForm
}
2、定义提交form的参数:
function postParamAndOpenWindow(urlAndQuery){
// 分割url和请求参数
var pos = urlAndQuery.indexOf('?')
var url = urlAndQuery.substring(0, pos)
var query = urlAndQuery.substring(pos + 1)
// 动态建立Form中的数据
var tempForm = document.getElementById('tmpForm')
tempForm.action = url
tempForm.method = "post"
var pairs = query.split("&")
for(var i = 0i <pairs.lengthi++) {
var pos = pairs[i].indexOf('=')
if (pos == -1) continue
var argname = pairs[i].substring(0, pos)
var value = pairs[i].substring(pos + 1)
var opt = document.createElement("textarea")
opt.name = argname
opt.value = value
tempForm.appendChild(opt)
}
tempForm.submitBtn.click()
return tempForm
}
3、在页面调用的方法:
<a href="#" onclick="postParamAndOpenWindow("http://www.xxx.com/login?username=xxx&password=yyy')">
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)