Jquery 如何使注册/登录表单在AJAX安全上工作?
我有使用AJAX技术的表单,我想知道会出现哪些安全问题 我知道站点上的所有表单(包括POST、PUT、DELETE方法)都应该有CSRF令牌。(这对登录或注册表单有意义吗?) 我想为您提供一些代码(最简单的代码),让问题变得更大:Jquery 如何使注册/登录表单在AJAX安全上工作?,jquery,ajax,forms,security,Jquery,Ajax,Forms,Security,我有使用AJAX技术的表单,我想知道会出现哪些安全问题 我知道站点上的所有表单(包括POST、PUT、DELETE方法)都应该有CSRF令牌。(这对登录或注册表单有意义吗?) 我想为您提供一些代码(最简单的代码),让问题变得更大: <form action="" method="" id="login-form"> <input type="email" required="required" placeholder="example" id="use
<form action="" method="" id="login-form">
<input type="email" required="required" placeholder="example" id="username">
<input type="password" required="required" placeholder="example" id="password">
</form>
<script type="text/javascript">
$(document).ready(function () {
$('#login-form').on('submit', function (e) {
$.ajax({
url: "/someurl",
type: "POST",
data: {
username: $('#username').val(),
password: $('#password').val()
}
});
});
</script>
$(文档).ready(函数(){
$(“#登录表单”)。在('submit',函数(e)上{
$.ajax({
url:“/someurl”,
类型:“POST”,
数据:{
用户名:$('#用户名').val(),
密码:$('#password').val()
}
});
});
我还应该知道什么才能使任何表单(AJAX)安全?- 如果您确实想确保您的站点和对
的调用是安全的,您应该阻止HTTP并通过HTTPS(无混合内容)加载所有内容。严格的传输安全HTTP头可以帮助您避免站点首先从HTTP重定向到HTTPS/someurl
- CSRF只有在存储识别和验证用户的会话cookie时才需要令牌
- 内容安全策略(CSP)头:您应该保护客户端脚本不受跨站点脚本(XSS)的影响。如果不这样做,您就不知道哪些脚本可以在客户端执行。请将您的javascript放在单独的文件中,并在CSP头中将此文件标记为受信任
- 注入保护:您只需将用户输入传递给您的服务,因此根据您的服务器代码,您可能存在SQL注入漏洞。您可以通过多种方式保护您的站点,例如,转义所有用户提供的输入