如何使用AJAX安全的注册/登录表单?

时间:2018-01-30 10:01:08

标签: jquery ajax forms security

我有使用AJAX技术的表单,想知道可能出现哪些安全问题。

我知道网站上的所有表单(使用POST,PUT,DELETE方法)都应该有CSRF令牌。 (登录或注册表单是否有意义?)

我想为您提供一些代码(最简单的代码)来提出更大的问题:

    <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>

我还应该知道什么才能使任何形式(AJAX)安全?

1 个答案:

答案 0 :(得分:1)

  • 如果您确实希望确保自己的网站和/someurl的来电安全,则应阻止HTTP并通过 HTTPS(无混合内容)加载所有内容。严格传输安全HTTP标头可以帮助您避免首先将您的网站从HTTP重定向到HTTPS。
  • 仅当您存储标识并验证用户身份的会话cookie时,才需要
  • CSRF 令牌。
  • 内容安全策略( CSP )标头:您应该保护客户端脚本免受跨站点脚本(XSS)的攻击。如果不这样做,则不知道哪些脚本可以在客户端执行。将您的javascript放在单独的文件中,并将此CSP标头中的文件标记为可信。
  • 注入保护:您只需将用户输入传递给您的服务,因此根据您的服务器代码,您可能会遇到SQL注入漏洞。您可以通过多种方式保护您的站点,例如逃避所有用户提供的输入。